• 締切済み

multipleの取得

現在、test1.phpのセレクトボックスで複数選択された値を、 test2.phpで取得させることをしています。 そこで、質問ですが、 <select name="sbox" multiple> <option>・・・ ・ ・ </select> を使ったセレクトボックスから、 複数の情報を取得するにはどうしたらいいですか? 現在は、複数選択したつもりでも、上書きされているためか、 最後のoption の値しか取得できません。 色んなページを参考にして、 <select name="sbox[]" multiple> にする方法を考えましたが、 このセレクトボックスはjavascriptで、 optionの数を変えています。 そのため、nameに[]を使うと、javascriptが動作しなくなってしまう ようです。 nameに[]を使う以外に、複数の値をPOSTする方法を教えてください。 わかりにくい質問で申し訳ないですが、よろしくお願いします。

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

みんなの回答

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

>nameに[]を使うと、javascriptが動作しなくなってしまう これはjavascriptのコードの書き方次第では? ご自身でphpからエンコードするのは難しくはないですが だるいので、[]付がよいとおもいますよ。 なんでしたらjavascriptでどのようなチェックをしているか ご提示なさってみてはいかがですか?

jumpman_723
質問者

お礼

回答ありがとうございました。 色々調べてやはり、javascriptを修正したらうまくいきました。 ありがとうございました。

関連するQ&A

  • 複数選択された値を取得したい

    複数選択可のリストボックスを使用してパラメータをPOSTで送った時、その値の取得方法がわかりません。 例えば <select name="select" multiple> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> </select> というリストボックスがあります。 02、03、04を選択して送信した時に、$_POST[select]の中には04しか入っていません。 選択された値を配列にして全て取得したいのですが、どのようにすれば良いのでしょうか? アドバイスをお願いします。

    • ベストアンサー
    • PHP
  • Perlで<select multiple>の複数データを取得する方法

    Perlで、<select multiple>のデータを取得する方法を教えてください。 以下のように複数選択できるselectタグがあります。これで送信したデータを Perlで受けると、ARRAY(0x9bf0d18)のようになってしまいます。 環境は、以下のとおりです。(必要な部分だけ記載しています) ■送信元のHTML <select name="test" size="3" multiple> <option value="a">a <option value="b">b <option value="c">c </select> ■受け側のPerl use CGI_Lite; my %in = $cgi->parse_form_data(); print"Content-type: text/html\n\n"; print"$in{'test'}\n"; ■結果 ARRAY(0x9bf0d18) 以上、よろしくお願いします。

    • ベストアンサー
    • Perl
  • セレクトボックスで、最後にクリックした値を取得

    セレクトボックス(multiple)で、クリックした時の値を取得したいと思っています。 通常、選択されている値を取得する場合は、onchangeを使用して取得するのが王道なのでしょうが、ctrlキーを使って複数選択された場合などに、最後に選択した値を知りたいため、onclick処理で、選択された値が取得できないかと考えています。 なお、複数選択時に、最後に選択された値が取得できるのならonchangeでも構いません。 何か、良い方法があれば教えていただければと思います。 よろしくお願いします。

  • multipleを使用するとプルダウンの表示がおか

    質問させて頂きます。 現在急遽仕事でHTMLとPHPによるページにアンケートを追加するという作業を任されたのですが 知識が無い分野で困っております。 内容は現在あるプルダウンを複数選択にするとプルダウンの▼がなくなり 常に開かれた状態になってしまいます。 更に問題なのが一行半分の高さしか開かないので狭い範囲をスクロールする状態になってしまいます。 最初はCSSが原因かと思いCSSを切ってみたのですが改善されませんでした。 ブラウザはファイヤーフォックス、クローム、オペラで確認しました。 記述は現在下記のように行っています。 <select size='1' multiple> <option value=''> </option> <option value="0" >あああ</option> <option value="1" >あああ</option> <option value="2" >あああ</option> <option value="3" >あああ</option> <option value="4" >あああ</option> <option value="5" >あああ</option> </select> チェックボックスで複数選択のやり方も考えたのですが何故か結果を表示するときに array になってしまいこちらも選べない状態です。 プルダウン、リストボックスの高さは調整ができるのでしょうか? お手数ですがご回答の程をよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • リストボッックスからリストボックスへの値を追加したい

    ASPのプログラムの中に Bというリストボックスの値を「追加」ボタンを押すとAのリストボックスに 追加できるようなスクリプトを作りたいのですが、 Request.Formで同ページにPOSTでsubmitして送っていたのですが それだと何度も追加ができなくなってしまうので他のやり方にしたいのです。 いろいろ調べてVBScriptやJavaScriptでできるのではないかというのまでは わかったのですが、どうもやり方がいまいちわかりません。 できればJavaScriptのほうでやりたいと思うのですがどなたか良い方法を ご教授いただけないでしょうか。 よろしくおねがいします。 <select size="5" multiple name="A"> </select><input type="submit" value="追加"><select size="5" multiple name="B"> <option>AAAAA</option> <option>BBBBB</option> <option>CCCCC</option> </select>

  • こんにちは。いつもお世話になります。

    こんにちは。いつもお世話になります。 現在既存の検索フォーム(PHP)に項目を追加しています。 同じフォーム内に同じname値のセレクトボックスを複数作りたいと思っているのですが、一番後にあるセレクトボックスの値だけが適用されて他が無視されてしまいます。 ひとつのセレクトボックスにまとめることができないため複数設置したいのですが、何か方法はありませんでしょうか。 解決方法がPHPやjavascriptなのかもしれないのですが、検討がつかないためこちらで質問させていただきました。 お力をお貸しいただけましたら助かります。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • HTMLのSELECTタグの使い方、JSPのセッション格納について

    HTMLのSELECTタグの使い方、JSPのセッション格納について Jspで開発をしております。IE7以上です。 同一画面内でボックスで選択した値をそのままセッションに格納したいのです。 Javascriptで制御したいのですが、なにかいい方法をご存知ですか? <script type="text/javascript"> function test(obj) { with(obj) { form.text1.value = options[selectedIndex].value; } } </script> <SELECT NAME="select1" onchanged="test(this)"> <OPTION VALUE=1>First <OPTION VALUE=2 selected>Second <OPTION VALUE=3touya">Theard </SELECT> またselectedでは初期の表示のみ選べて値の初期値はscript側で設定するのでしょうか? これだとボックスに変化があれば値が取得できるみたいです。 できればボックスをいじらなければ初期表示の値をセッションに格納。 ボックスをいじれば選択した値をセッションに格納。

  • selectが複数ある場合の値取得について

    お世話になります HTML内に下記のようなフォームが複数存在しています。 select[name="page_name"]が変更されたときに値を取得しPHP に送信したいのですが、一番上にあるselectの値が取得されてしまいます。 ひとつのscriptで複数のselectに対応したい場合、どのような記述になりますでしょうか? 助けていただきたいです。よろしくお願いします。 <!--1番目のセレクト--> <form method="post" action="javascript:void(0);"> <input type="hidden" id="img_id" name="img_id" value="3"> <select name="page_name"> <option value="">選択してください</option> <option id="page_name" value="1">あああ</option> <option id="page_name" value="2">いいい</option> <option id="page_name" value="3">ううう</option> </select> </form> <!--2番目のセレクト--> <form method="post" action="javascript:void(0);"> <input type="hidden" id="img_id" name="img_id" value="4"> <select name="page_name"> <option value="">選択してください</option> <option id="page_name" value="1">あああ</option> <option id="page_name" value="2">いいい</option> <option id="page_name" value="3">ううう</option> </select> </form> <!--3番目のセレクト--> ---省略--- /*script*/ $('select[name="page_name"]').change(function() { var data = { 'page_name' : $('#page_name').val(), 'img_id' : $('#img_id').val() }; $('#name').text(data['img_id']); $.ajax({ type: "POST", url: "/admin/change/", data:data }); alert("画像使用ページを変更しました!"); return false; }); });

  • 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文には手を加えずに、値が変更されたときに 何か関数を呼び出すようなことをしたいのです。 無理ならしょうがないのですが、何か手があれば教えてください。 よろしくお願いします。

  • JSP内での入力データの取得方法

    ページ内で入力したデータをJSP内で取得する方法はありますか? JavaScript内で取得する方法はわかったのですが、 JSP内で取得する方法がありましたら教えてください。 <select name="sample"> <option value="0">00000</option> <option value="1">11111</option> <option value="2">22222</option> <option value="3">33333</option> </select> ↑で選択したValueを使って、 隣のプルダウンの中身を変えたいのです。

専門家に質問してみよう