初めて質問させていただきます。
今、独学でPHP・MySQL・HTMLを使って、
検索結果を表示する画面を作っています。
作っているプログラムは、こんな感じです。
================================================
xxx.php
================================================
<?php
ここで、入力のエラーチェック
MySQLに接続
入力したコードに対応するデータを取得
?>
<html>
<form action="xxx.php" method="post">
<input type="text">
<select name="XX1"></select>
<select name="XX2"></select>
<input type="submit" name="submit" value="検索">
</html>
================================================
このプログラムでは、テキストタイプの部分にコードを
入力し、selectの部分で各項目を選択して、
最後に検索ボタンを押すと、
エラーチェックをした後に、検索結果のデータを
データベースから取得してHTMLで表示します。
毎回、検索ボタンを押すという動作を減らすため、
SELECTの部分が変わったら、
検索ボタンを押さなくても、上のPHPで記述されて
いる部分の処理に飛ばす方法がないかなあと
思いまして質問しました。
イメージ的にはJavaScriptの、onchangeみたいなものなのですが、何かいい方法は
ないでしょうか?
以前似たような質問があったかもしれませんが、
すみませんがよろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
XX1,XX2というのは2つのセレクトメニューがあると考えていいのでしょうか?
一応、2つのセレクトメニューがあると想定してタグを書くとこうなります。
(エラーが出るということですが、inputタグに入っているname="submit"の記述が原因です。不要)
<html>
<body>
<form action="xxx.php" method="post">
<input type="text">
<select name="XX1" onChange="javascript:submit()">
<option value="noselect">選択してください</option>
<option value="xx1-1">選択1</option>
<option value="xx1-2">選択2</option>
</select>
<select name="XX2" onChange="javascript:submit()">
<option value="noselect">選択してください</option>
<option value="xx2-1">選択1</option>
<option value="xx2-2">選択2</option>
</select>
<input type="submit" value="検索">
</form>
</body>
</html>
------- xxx.php ---------
<?php
echo $_POST['XX1'];// XX1の選択値
echo $_POST['XX2'];// XX2の選択値
?>
もっともこれだとどちらかのセレクトメニューを操作しただけでPOSTされてしまうので、入力済みの他のフォーム値がリセットされないような工夫が必要だと思います。
No.2
- 回答日時:
クライアントの処理なのであなたの書かれている通り、JavaScriptのonChangeを用いるしかないように思えます。
この回答への補足
そうなのですが、そのonchangeの部分の書き方がよくわかりません。通常は、submitの検索ボタンを押すと、formのactionに書かれている、XXX.PHPに処理が飛びますよね?
onchangeのイベントで同様にxxx.phpに行かせたいのですが、そのまま書くと、エラーになってしまいます。というか、その部分の書き方がわからないのです。
No.1
- 回答日時:
>JavaScriptの、onchangeみたいなものなのですが
というかその方法しかないのでは?
<select name="XX1" onChange='javascript:submit()'>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンが両方とも選択で...
-
INPUT TYPE
-
FORMのselectの選択肢を最初か...
-
select値をhiddenのvalueに渡し...
-
wordの数式について 定積分を書...
-
SUN BBSの改造方法
-
チェックボックスの返す値
-
perlにおけるセッションIDについて
-
プログラミングについての質問...
-
別formのhidden項目を自form値...
-
htmlからパラメータで、cgiに渡...
-
マップの縦幅
-
入力規則をまとめて定義
-
WEBページを強制的に横画面で見...
-
perl/cgi リダイレクトができない
-
テキストBOXの縦幅を変えたい
-
Webアプリケーションを作りたい!
-
perlで書いたcgiでsqliteの使い...
-
『数字の3桁毎にカンマを付け...
-
標準入力からデータが読込めない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンが両方とも選択で...
-
select値をhiddenのvalueに渡し...
-
「value」に2つの値をセットす...
-
INPUT TYPE
-
FORMのselectの選択肢を最初か...
-
チェックボックスとセレクトボ...
-
チェックボックスグループの一...
-
ラジオボタンを選択済みにする...
-
<select>タグの幅設定
-
OPTIONタグにループは使えない...
-
iframeごとに戻るボタンを
-
メールフォームのプルダウンメ...
-
リストボックス(multipleなsel...
-
selectboxの画面遷移で、postデ...
-
プルダウンメニューでValue値を...
-
htmlでセルの値を取得して計算...
-
チェックボックスの余白を指定...
-
一つの検索窓で複数のサイトか...
-
ラジオボタンとセレクトメニュ...
-
コンボ1の内容に応じてコンボ...
おすすめ情報