このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

ブラウザ側にダイアログボックスを表示させるためには?

発言者:中山 佳代
( Date Monday, November 11, 1996 11:05:48 )


こんにちは
現在、ファイルメーカーを用いた検索用CGIを作成しています。
ブラウザ側からデータの削除・更新を行えるようにしています。

その際に、データを本当に削除していいかどうかを確認するための
ダイアログボックスをブラウザ側に表示させたいと思っています。

display dialogを使って試みているのですが、うまくいきません。
ブラウザ側にダイアログボックスを表示するということは出来ないのでしょうか?

もし出来るのであれば、その方法を教えて下さい。

どうぞよろしくお願いします。

田中求之 さんからのコメント
( Monday, November 11, 1996 12:25:12 )

>ブラウザ側にダイアログボックスを表示するということは出来ないのでしょうか?

CGI によってこれを実現することは不可能です( CGI が直接ブラウザやユーザーと
対話することはできませんから)。

ダイアログを表示したいということであれば、JavaScript を使って、ページの中に
Submit のボタンを押したときにダイアログが出るようなスクリプトを埋め込んでおく
ことになると思います。

JavaScript については、他に詳しいページや本がありますので、そちらで調べて
ください(私は詳しいことは知らないので)。

JavaScript を使うのが面倒、あるいはブラウザによっては JavaScript に対応
していないことを考えると、ダイアログではなく、ページを2段構えにするという
方法があります。つまり、削除のボタンを押したときに、「本当に削除しても
いいのか?」を確認するページを返し、そこでもう一度削除のボタンを押したときに、
データの削除を行うようにする、という仕組みにします。

CGI では、ユーザーとのインターフェースはページを使って構成することになり
ますので、ちょっとスマートとは言えないですが、上のような方法にするのが
簡単です。

中山 佳代 さんからのコメント
( Monday, November 11, 1996 13:22:59 )

コメントをどうもありがとうございます。

ページを2段構えにするという方法で、やってみようと思います。

田中求之 さんからのコメント
( Monday, November 11, 1996 21:11:56 )

>ページを2段構えにするという方法で、やってみようと思います。

以前に、FORM で選んだもらったファイルをメールで配布する、という CGI を
動かしていたとき、2段構えをやったことがあります。

確認を出してから、あらためて最初の時点で選択されていた処理を行うことになり
ますので、処理内容の情報をいかにキープしておくか、また2重の処理をいかに
防ぐか、といった部分をうまく作るのがポイントです。

私の場合は、テンポラリ・ファイルを使うという方法を用いましたが、TYPE=HIDDEN
の FORM を使ったり、あるいは URL 自体に処理を埋め込んでおくなど、いくつかの
方法が考えられますね。

がんばってください。