複数selectフォームから変更した項目を知りたい

このQ&Aのポイント
  • phpプログラムで、画面上にある複数のselectフォームを使用してselectフォームの内容が選択されれば、selectフォームの値を取得してデータの抽出を行い、選択された内容の表示を行なおうと思っています。
  • onChange='submit()' で選択された内容をpostで受け取って再表示を行い、項目にあったデータを取り出すことは出来てますが、直近に変更された項目が何か(どのselectフォームの内容(年度、組織、社員及び商品の項目)が変更されたのか?)を知りたいのですが、いい方法を教えていただけないでしょうか?
  • sample.phpの内容<br><?php $nen = $_POST['nend']; $sosi = $_POST['so']; $syin = $_POST['sa']; ?><html><body><form action='sample.php' method='post'><select name='nend' onChange='submit();'><option value=2007 selected>2008</option><option value=2006>2007</option><option value=2005>2006</option></select><select name='so' onChange='submit();'><option value=0 selected>全社</option><option value=01 >本社</option><option value=02 >A支店</option><option value=03 >B支店</option></select><select name='sa' onChange='submit();'><option value=0 selected>社員</option><option value=1 >田中</option><option value=2 >佐藤</option><option value=3 >鈴木</option></select><select name='sy' onChange='submit();'><option value=0 selected>商品</option><option value=1 >A商品</option><option value=2 >B商品</option><option value=3 >C商品</option></select></form></body></html>
回答を見る
  • ベストアンサー

複数 selectフォームから今回onchangeで変更した項目を知りたい

phpプログラムで、画面上にある複数のselectフォームを使用してselectフォームの内容が選択されれば、selectフォームの値を取得してデータの 抽出を行い、選択された内容の表示を行なおうと思っています。 onChange='submit()' で選択された内容をpostで受け取って再表示を行い、項目にあったデータを取り出すことは出来てますが、直近に変更された項目が何か(どのselectフォームの内容(年度、組織、社員及び商品の項目)が変更されたのか?)を知りたいのですが、いい方法を教えていただけないでしょうか? よろしくお願いします。 sample.phpの内容 <?php $nen = $_POST['nend']; $sosi = $_POST['so']; $syin = $_POST['sa']; ?> <html> <body> <form action="sample.php" method="post"> <select name='nend' onChange='submit();'> <option value=2007 selected>2008</option> <option value=2006>2007</option> <option value=2005>2006</option> </select> <select name='so' onChange='submit();'> <option value=0 selected>全社</option> <option value=01 >本社</option> <option value=02 >A支店</option> <option value=03 >B支店</option> </select> <select name='sa' onChange='submit();'> <option value=0 selected>社員</option> <option value=1 >田中</option> <option value=2 >佐藤</option> <option value=3 >鈴木</option> </select> <select name='sy' onChange='submit();'> <option value=0 selected>商品</option> <option value=1 >A商品</option> <option value=2 >B商品</option> <option value=3 >C商品</option> </select> </form> </body> </html>

  • PHP
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

PHPではむりじゃないでしょうか、javascriptですね <html> <body> <script> function submitFunc(obj){ var f=obj.form; f.act.value=obj.name; f.submit(); } </script> <form action="sample.php" method="post"> <input type="hidden" name="act" value=""> <select name='nend' onChange='submitFunc(this);'> <option value=2007 selected>2008</option> <option value=2006>2007</option> <option value=2005>2006</option> </select> <select name='so' onChange='submitFunc(this);'> <option value=0 selected>全社</option> <option value=1 >本社</option> <option value=2 >A支店</option> <option value=3 >B支店</option> </select> <select name='sa' onChange='submitFunc(this);'> <option value=0 selected>社員</option> <option value=1 >田中</option> <option value=2 >佐藤</option> <option value=3 >鈴木</option> </select> <select name='sy' onChange='submitFunc(this);'> <option value=0 selected>商品</option> <option value=1 >A商品</option> <option value=2 >B商品</option> <option value=3 >C商品</option> </select> </form> </body> </html>

nisi_do
質問者

お礼

ご回答わざわざ有難う御座いました。 変更したフォームの名称がpostで取得できました。 javascriptの勉強はあまり出来ていないのでこれからがんばっていきたいと思います。 本当にありがとう御座いました。

関連するQ&A

  • selectフォームの未選択の項目にフラグ

    下記のselectフォームを用いてASPにデータを渡したいのですが、 未選択の項目にフラグを立てて(例えば"0")データを渡すことは可能でしょうか? ご教授宜しくお願い致します。 <select name="hoge" multiple> <option value="1" selected>111</option> <option value="2">222</option> <option value="3">333</option> <option value="4">444</option>

  • select値でのフォームのaction値の変更

    以下のようなフォームでselectの値によって PHPでactionのURLを変更させるようなことは出来るでしょうか。 <form name="form" method="GET" action="ここをselect値により変更"> <input type="text" name="word" id="word" value="" /> <select name="select" id="select"><option selected="selected" value="01">値01</option> <select name="select" id="select"><option selected="selected" value="02">値02</option> <select name="select" id="select"><option selected="selected" value="03">値03</option> </select> </form> 以上、どうぞ宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • selectタグの項目を制御する

    フォーム内のプルダウンの項目を制御する方法がわからなくて困っています。 form1というフォーム内にプルダウンが3つあります。 <select name="select_1"> <option value="AAA">AAA</option> <option value="BBB">BBB</option> <option value="CCC">CCC</option> </select><br/> <select name="select_2"> <option value="AAA_1">AAA_1</option> <option value="AAA_2">AAA_2</option> <option value="BBB_1">BBB_1</option> <option value="CCC_1">CCC_1</option> </select><br/> <select name="select_3"> <option value="AC">AC</option> <option value="AB">AB</option> <option value="B_1">B_1</option> <option value="B_2">B_2</option> <option value="B_3">B_3</option> </select><br/> ●まず、select_1がAAAなら、select_2でAAA_1とAAA_2のみ選択できるようし、select_2で、AAA_1が選択されたらselect_3にACをAAA_2が選択されたらABを表示。 ●select_1でBBBが選択されたら、select_2にBBB_1のみを表示し、変更不可にする。そして、select_3にABC,B_1,B_2,B_3を表示。 ●select_3でCCCが選択されたら、select_2にCCC_1のみを表示して変更不可にし、select_3にACのみを表示して変更不可にする。 こんな感じにしたいのですが、どうもうまく出来ません。 考えたのは、各selectタグにonchange=change_1(form1)として、関数を呼び出し、 no= form1.select_1.selectedIndex; noが0なら thisForm.select_2.length = 2; //オブジェクトを2にする thisForm.select_2.options[0].value = "AAA_1"; の様にしたのですが、はじめに表示したoptionを消したりする方法や変更不可にする方法ってあるんでしょうか?また、ほかの方法など、どなたかわかる方がいましたら、よろしくお願いいたします。

  • selectフォームの特性について

    オプションメニューの表示について教えてください。 例) <select name="test" size="1" > <option value="0">---------</option> <option value="1">test1</option> <option value="2">test2</option> <option value="3" selected>test3</option> <option value="4">test4</option> <option value="5">test5</option> </select> 以上のようにselectフォームを設定した場合に、 クリックするとtest3が一番上に選択され、test4、test5の順に表示されますが、 これをtest3が選択された状態でtest1、test2、test3、test4、test5と いうように表示させることは可能なのでしょうか? もし、可能ならどのような方法があるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpについての簡単な質問です

    下のようなphpコードを見たのですが、 (http://okwave.jp/qa/q5324570.htmlのベストアンサー) <form method="post" action="{$_SERVER["PHP_SELF"]}"> <select name="category" id="category" onchange="this.form.submit();"> <option value="0"{$selected["category"]["0"]}>A</option> <option value="1"{$selected["category"]["1"]}>B</option> <option value="2"{$selected["category"]["2"]}>C</option> <option value="3"{$selected["category"]["3"]}>D</option> </select> </form> {$selected["category"]["0"]}という部分がよくわかりません。 二次元配列みたいなものなのでしょうか? ぜひとも教えてください。

  • セレクトボックスで指定した任意のCGIにPOSTしたい

    フォームでリクエストを送信する際、セレクトボックスで指定した任意のCGIにPOSTしたいのです JavaScriptで実現したいのですが...教えてくださいm(__)m 下記はフォームの中身です。 <form action="" method="post"> <input type="text" name="key_word"> <select name="S1"> <option selected value="error">CATEGORY <option value="search_1.cgi">SELECT_1 <option value="search_2.cgi">SELECT_2</option> </select> <input type="hidden" value="kw_search" name="mode"> <input type="submit" value="検索"></td> </form>

  • selectタグに直接onChangeを書かないイベント取得方法

    javascriptが余り詳しくないので困っています。 <select id="select1" name="select1"> <option value="apple">りんご</option> <option value="banana">バナナ</option> </select> このようなselectの選択リストから値を変更した時にイベントを取得したいのです。 普通に考えると <select id="select1" name="select1" onChange="xxx"> のようにonChangeを使えば簡単なのですが、 困ってしまうのがこのselectは自動生成されるものなので、 直接手を加えることができないのです。 なのでselect文には手を加えずに、値が変更されたときに 何か関数を呼び出すようなことをしたいのです。 無理ならしょうがないのですが、何か手があれば教えてください。 よろしくお願いします。

  • SELECTフォームの自働展開は可能ですか?

    <FORM> <SELECT name="TEST"> <OPTION value="AAA" selected>AAA</OPTION> <OPTION value="BBB">BBB</OPTION> </SELECT> </FORM> こういうフォームがあります。 このフォームの上にマウスポインタがあったら 自動的に展開して表示したいのですが 良い方法は無いでしょうか? Javaのonmouseoverを使ってみましたが 上に居る判断はつくのですがその後の処理がわかりません。 focusをあわせるだけだと選ばれるだけですし… よろしくお願いします。

  • Javascriptでselectボックス項目削除

    いつも参考にさせていただいておりますsasaloと申します。 早速ですが、javascriptで分からないことがありご質問させていただきます。 どなたかお知恵・お分かりになるかたがおりましたらどうぞご教授いただけないでしょうか? よろしくお願いします。 行いたいことは、htmlページを読み込んだタイミングでselectボックスの最後の廃番商品の項目を1つだけ削除したく思います。 最後の項目ということになります。 ソースコードは、簡潔に書かせていただきました。 ソースコードは、 <form action="search.php" method="get" name="form"> <select name="situation"> <option value=""></option> <option value="販売中">販売中</option> <option value="在庫切れ">在庫切れ</option> <option value="廃番商品">廃番商品</option> </select> </form> システムを使用しておりまして、変数をhtmlに挿入すると自動的にselectボックスが表示されるようになります。 検索に使用しておりまして、廃番商品の検索は利用しないのでjavascriptにて削除できたらと思います。 いろいろと調べたのですが、inputボタンを押したら消せるなどの情報はありましたがちょっと使用方法がちがいまして・・・。 誠にお手数ですみませんがどなたかお分かりになられる方がおりましたらソースコードをご教授いただけないでしょうか? また、簡単でももちろんかまいませんのでソースコードのご説明をいただけないでしょうか? どうぞよろしくお願いします。 from sasalo

  • プルダウンメニューのselected部分のリンクをとる方法

    以前こちらで教えていただいたプルダウンメニューなのですが、 selected部分にもリンクがされてしまっているので、 これをリンクさせないようにしたいのですが、やり方がわかりません。 どなたか教えていただけますでしょうか? 宜しくお願いいたします。 ソース <form name="b" method="post" target="_blank" action="https://○○○○/reservationtop.asp"> <select name="***************" onChange="document.b.submit()"> <option selected>予約する</option> <option value="1">リンク3</option> <option value="2">リンク2</option> <option value="3">リンク3</option> </select>