WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:perlでの検索処理(検索⇔一覧表示)の戻るボタンについて

0:[投稿] トム [MAIL] [2004/11/01 15:31 ][環境:Win2000 Pro,IE6.0 Linux(FedoraCore2),Apache,perl]

初めて投稿させていただきます。

現在、以下の様な個所を作成中です。

 ※検索条件を入力して検索ボタンをクリックすると
  検索一覧が表示される。

画面遷移の順番としては、

 @検索画面初期表示(a.cgi)
 A検索条件入力&検索ボタンクリック
 B再度a.cgiを呼び出して入力値チェックをする
    (値はPOSTで送信)
 C入力値チェックがOKであればBodyタグのonLoadイベント
  にwindow.document.form1.submit();を設定する。
   (エラーの場合は設定せずにメッセージを表示)
 D検索結果(b.cgi)が実行され、検索結果が表示される。

です。

このとき、Dの検索結果画面で戻るボタンをクリックすると、
処理Cに戻ってしまう為、検索結果が即時に表示されてしまいます。
戻るボタンが押された場合、元の検索条件を表示させた状態で検索画面(a.cgiの実行)を表示するにはどうしたらよろしいでしょうか??

ご指導の程、宜しくお願いいたします。


1:[回答] AC1号 [2004/11/01 22:17 ]

>このとき、・の検索結果画面で戻るボタンをクリックすると、
>処理・に戻ってしまう為、検索結果が即時に表示されてしまいます。
ここが読み取れないので文意がつかめていないのですが、
・検索結果(b.cgi)が実行され、検索結果が表示される。
のときにブラウザの戻るボタンを押すと、
・再度a.cgiを呼び出して入力値チェックをする
に戻った結果、自動的にb.cgiに進んでしまう、という状況で良いでしょうか。

まず、この場合は検索を行うものなので、GETメソッドで行うのが良いと思いますが、なぜPOSTメソッドにしたのでしょうか。


2:[回答] miz [2004/11/02 17:04 ]

>>0
>1検索画面初期表示(a.cgi)
>2検索条件入力&検索ボタンクリック
>3再度a.cgiを呼び出して入力値チェックをする
>    (値はPOSTで送信)
>4入力値チェックがOKであればBodyタグのonLoadイベント
>  にwindow.document.form1.submit();を設定する。
>   (エラーの場合は設定せずにメッセージを表示)
>5検索結果(b.cgi)が実行され、検索結果が表示される。

※ ○付き文字は機種依存(ちゃんと表示できないことがある)ので変更しました。

ブラウザが表示しているページと、ユーザーの動作と、javascriptの動作と全部込みで、番号を振っているのでよくわかりにくいんですよね。
ブラウザのページ履歴にあるのは、1,3,5ですね。
3は、onloadで5へいくのだから、とどまることはできません。
このページで何かしたいなら、onloadははずして、submitボタン(一般的には確認ボタンの動作となる)で5へ行くようにしましょう。

あ、もしかして1まで戻りたいの意味だったのかな?
ブラウザの戻るボタンの脇に三角マークでリストが出るなら
それで2ページ戻れるけど、ユーザーにわかりやすくするなら、
Javascriptで history.back(2) としたリンクを5のページにつけておくとか。


3:[回答] トム [2004/11/05 14:17 ]

AC1号さま
ご回答ありがとうございます。
POSTメソッドにした理由は、入力値が4〜5個の為、
GETメソッドにしてアドレスのところに表示されるのが
いやだった為にPOSTメソッドにしました。
でもGETメソッドの方法をとるのがよろしいでしょうか?

mizさま
ご回答ありがとうございます。
今回は1まで戻りたいっていう目的があります。
ボタンかリンクの設置を検討してみます。


4:[回答] www [2005/06/15 10:20 ]

www

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World