※ ChatGPTを利用し、要約された質問です(原文:html メッセージ出力後にsubmitする方法?)
htmlメッセージ出力後にsubmitする方法は?
このQ&Aのポイント
質問文章からセンセーショナルなタイトルを30文字前後で生成
input.htmlで検索条件の入力フォームを作成し、入力が完了したら「検索開始」ボタンでsearch.phpに遷移する方法を教えてください。
重たい検索処理の間に表示されるメッセージを実現する方法が分からないので、Web設計に詳しい方からのアドバイスをお願いします。
html メッセージ出力後にsubmitする方法?
質問タイトルの文字数制約のため、わかりにくい表現になってしまいましたが、実現したい事は下記です。
(1) input.html で、検索条件の入力フォームを作り、入力が完了したら「検索開始」ボタンで、実際に検索処理をする search.php に遷移する。
私の場合は、下記で実現している。
<form method="POST" action="search.php"
<input type="submit" value="検索開始"
(2) しかし、検索処理の内容が重たい時(検索件数が多い or 検索条件が複雑等々)、「検索開始」ボタンを押してから結果が表示されるまで時間がかかりその間は画面表示に変化が無いため、その間に例えば「ただいま検索を開始しました。」というようなメッセージを表示させたい。
(3) 試しに、serach.php のトップに
echo "ただいま検索を開始しました。";
を記載しても、(私には理由がわかりませんが)上記メッセージは search.php 側で検索処理が終わってから表示されてしまう。
(4) そこで、input.html 側で、search.php に遷移する前に、上記のようなメッセ-ジを出力したいが、その方法が良くわからない。
Web 設計に詳しい方より、簡単に実現できる方法をご教示頂きたく、よろしくお願いいたします。
補足
早速のレスポンス、ありがとうございました。 php の先頭に echo 文を記載しても効果が無い理由が良くわかりました。 >もう一つは<form>タグのaction先はクエリーを受け付けるだけにして、すぐさま「ただいま検索を開始しました。」と表示するHTMLを返し、そのページから結果表示ページへリダイレクトで遷移(<meta>タグやJavaScriptで遅延実行)させるようにし、PHPのセッション機能を使って検索クエリーを結果表示ページに引き継いでおいて検索を実行すると言う方法が考えられます。 私は、Javascript はほとんど経験がないので上記の方法でチャレンジ中で、コメント頂いたように、とりあえず「ただいま検索を開始しました。」と表示するHTML(仮に input2.html と称します。)を作り、まずはそこにへ遷移させたのですが、ここにどういう処理を記載したら良いのか良くわからず悩んでいました。(input2.html の中に、検索する処理を担当する php コードを埋め込んでもダメでした。) もし可能でしたら、今回の様な事を実現しているサンプルコードが記載されているネット情報がありましたら、ご教示頂けないでしょうか? 厚かましいお願いになるかと思いますが、ご検討のほど、よろしくお願いいたします。