
<input>の選択肢をプルダウンメニューから受け取り、hiddenで渡したいのですが、どうすればよいでしょうか?
▽プルダウン例
<FORM>
<SELECT>
<OPTION SELECTED>SELECT</OPTION>
<OPTION VALUE="1">A</OPTION>
<OPTION VALUE="2">B</OPTION>
<OPTION VALUE="3">C</OPTION>
</SELECT>
</FORM>
↑上で選択した値(A or B or C)値を、↓下のvalue=「"hoge"」に渡したいです。
※選択肢は3つだけではなくて、たくさんあります。
▽input例
<input name="hosted_button_id" value="hoge" type="hidden">
http://oshiete.goo.ne.jp/qa/6016233.htmlの質問内容が知りたいことに近かったのですが、value値ではなくて、選択した内容そのものをhiddenへ渡す方法を教えてください。

No.4ベストアンサー
- 回答日時:
まずhiddenの値についてですが、
<input id="hosted_button_id" name="hosted_button_id" value="hoge" type="hidden">
↑のように初期表示の時のvalueの部分をhogeではなく、
<input id="hosted_button_id" name="hosted_button_id" value="<?php 「プルダウンの初期値の名称セット」?>" type="hidden">
↑として予めセットするだけでよいのではないでしょうか。
> APIにはジャンルIDだけ、送ればよいと思います。
> 名称を送りたいのは、遷移先のページタイトルと、遷移先のプルダウン初期表示用で使いたいためです。
> また、ジャンルIDと名称を同時に送ることについて、hiddenで送る行為自体は問題ないと思うのですが、一旦結合してsubmitで送ると、APIにジャンルIDだけが送れなくなるので、結果として、まずいのではないかと思ってます。
遷移先というのは自分で管理されているページですよね?
でしたら名称を別途送る理由が無いと思うのですが…。
最初に回答させていただきましたが、
IDをキーとして名称を値とした配列を作っておけば、
IDさえ送れば名称を決めることができるので、
それで問題ないのではないでしょうか。
APIで名称を使用しなくてもよいのであれば、
IDのみをやりとりした方がずっとシンプルですよ。
No.3
- 回答日時:
まず、例示のスクリプトがうまく動作しなかったようですみませんでした。
自分の環境では動作したので問題ないと思っていました。
> 今、お伺いしているプルダウンは、添付画像中央部分なのですが、
添付画像が見当たらないのですがどちらでしょう?
> 一旦結合して、後で分けるやり方は、難しいかなと思っていたのですが、書いていただいたコードを見たらイケそうだったので、実際に試してみました。
> やってみて初めて気付いたのですが、自分のケースの場合、このやり方では難しいことが分かりました。
> submitした時点で、APIへパラメータを投げているので、option value=の値を加工すると、その時点で処理がうまく走らなくなってしまいます。「option value=の値」「option value=を加工した値」の両方を投げればいいのか、とも思ったのですが、それだと一つのセレクトボックスでは送れないのではないかと思い、なんとか javascriptで解決したいと思っています。
他の方も疑問に思っているようですが、どんなAPIを使用したいのでしょうか。
APIにはジャンルのIDと名称を同時に送ってやらないといけないのでしょうか。
submitした時点でAPIへパラメータを投げているとは、
htmlフォーム→自サーバ→API という遷移でなく、
htmlフォーム→API→自サーバ というような流れなのですか?
この回答への補足
>添付画像が見当たらないのですがどちらでしょう?
添付しました。
>どんなAPIを使用したいのでしょうか。
楽天APIです。
>APIにはジャンルのIDと名称を同時に送ってやらないといけないのでしょうか。
APIにはジャンルIDだけ、送ればよいと思います。
名称を送りたいのは、遷移先のページタイトルと、遷移先のプルダウン初期表示用で使いたいためです。
また、ジャンルIDと名称を同時に送ることについて、hiddenで送る行為自体は問題ないと思うのですが、一旦結合してsubmitで送ると、APIにジャンルIDだけが送れなくなるので、結果として、まずいのではないかと思ってます。
>submitした時点でAPIへパラメータを投げているとは、
>htmlフォーム→自サーバ→API という遷移でなく、
>htmlフォーム→API→自サーバ というような流れなのですか?
多分、indexフォーム→API→サーバ→searchフォーム→API→サーバ→searchフォームの流れだと思うのですが、すいません、ちょっとこの辺の流れについてはまだ、勉強中で、よく分かってないため、もしかしたら、違うかもしれません。
No.2
- 回答日時:
<FORM ACTION="">
<P>
<SELECT>
<OPTION SELECTED>SELECT</OPTION>
<OPTION VALUE="A">A</OPTION>
<OPTION VALUE="B">B</OPTION>
<OPTION VALUE="C">C</OPTION>
</SELECT>
</P>
</FORM>
or
<FORM ACTION="">
<P>
<SELECT>
<OPTION SELECTED>SELECT</OPTION>
<OPTION>A</OPTION>
<OPTION>B</OPTION>
<OPTION>C</OPTION>
</SELECT>
</P>
</FORM>
value を連番で振らなければいけないなんて規則はない。
[quote cite="http://www.whatwg.org/specs/web-apps/current-wor … "]
The value attribute provides a value for element. The value of an option element is the value of the value attribute, if there is one, or the textContent of the element, if there isn't.
[/quote]
連番にしたとしても 0 ⇒ A であることが分かっているはずだから、受け取り側で何とでもなるのでは。
No.1
- 回答日時:
■JavaScriptで解決するなら
<form>
<select onchange="document.getElementById('hosted_button_id').value=this.options[this.selectedIndex].text">
<option selected>SELECT</option>
<option value="1">A</option>
<option value="2">B</option>
<option value="3">C</option>
</select>
</form>
<input id="hosted_button_id" name="hosted_button_id" value="hoge" type="hidden">
http://okwave.jp/qa/q6217393.html
上記に解答がありますが、
■phpで解決するなら
<select name="genre">
<option value="1:ジャンル名">…となるようにし、
$tmp = explode(":", $_GET["genre"]);
list($genreId, $genreName) = $tmp;
この回答への補足
回答ありがとうございます。そのままだと識別子エラーとなったので、下記のようにしてみました。
<form action="search.php" method="get">
<select onchange="document.getElementById('hosted_button_id').value=this.options.item(this.selectedIndex).text">
あと一つだけ解決したい点があるので、追加で質問させてください。
今、お伺いしているプルダウンは、添付画像中央部分なのですが、
自分自身にsubmitして、右側のソートだけを選択して検索させた場合(onchangeさせずに、プルダウン初期値の内容で検索する場合)、内容がhiddenに送れません。
※プルダウンの初期値は、受け取った値を表示するように設定しています
※一度選択を外してまた選択し直せば正常動作します(←これをしなくてもデフォルトの値をhiddenへ渡すにはどうすればよいでしょうか。)
http://javascriptist.net/ref/event.onchange.htmlに掲載されているイベントを試してみたのですが、うまく渡りませんでした。
何かよい方法はないでしょうか?
▽PHP
一旦結合して、後で分けるやり方は、難しいかなと思っていたのですが、書いていただいたコードを見たらイケそうだったので、実際に試してみました。
やってみて初めて気付いたのですが、自分のケースの場合、このやり方では難しいことが分かりました。
submitした時点で、APIへパラメータを投げているので、option value=の値を加工すると、その時点で処理がうまく走らなくなってしまいます。「option value=の値」「option value=を加工した値」の両方を投げればいいのか、とも思ったのですが、それだと一つのセレクトボックスでは送れないのではないかと思い、なんとかjavascriptで解決したいと思っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript 中百舌鳥駅と深井駅を入れ替えて選択しても同じ挙動にしたいです。 2 2022/06/24 18:45
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
このQ&Aを見た人はこんなQ&Aも見ています
-
select値をhiddenのvalueに渡したい
HTML・CSS
-
リクエストに応じたselectedの初期値設定方法
Java
-
Java-jspの画面入力値保持について
Java
-
-
4
Javascriptの値をJava(JSP)へ渡す方法
Java
-
5
セレクトメニューで2つの項目や値を渡す方法はありますか?
HTML・CSS
-
6
jsp~jspにhiddenを使って変数を飛ばしたい
JavaScript
-
7
getParameterで値が取得できず、困ってます
HTML・CSS
-
8
onClickとsubmitの処理順序
JavaScript
-
9
JSPの処理の途中で、JavaScriptの処理をしたい
JavaScript
-
10
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
11
JSPで<SELECT>の中にDBから持ってきたデータを反映させたい
Java
-
12
hiddenの値が期待した値で取得されないのです
Java
-
13
ServletからServletへの値渡し
Java
-
14
SELECTの値を保持する
HTML・CSS
-
15
JSPからJSPへ情報を渡せる?
Java
-
16
jspからjavascriptの変数引継ぎ
JavaScript
-
17
input type=hidden"で送る値を、セレクトした内容に応"
PHP
-
18
JSPとJavaScriptの連携について教えて下さい
JavaScript
-
19
「ワークスペースをビルド中」止められず
Java
-
20
JSPのクラスをコンパイルできない問題
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【JS】selectでchangeした時の...
-
プルダウン選択を変更すると、...
-
プルダウンメニューの件でお願...
-
プルダウンメニューでのイベン...
-
javascriptでセレクトボックス...
-
スマホのフォームでのselect複...
-
<input>の選択肢をプルダウンメ...
-
selectを変更不可にしたい
-
セレクトボックスで、最後にク...
-
javascriptで合計金額を算出し...
-
条件により押せないボタンを作...
-
excel.vbaでselectの操作について
-
<select> をmultiple にしてい...
-
return trueとreturn falseの用...
-
ラジオボタンのチェックが外れ...
-
Selectボックスの幅を自動で広...
-
<JavaScript>tableタグを入力不...
-
正規表現で複数マッチ条件で悩...
-
サイトのリロード間隔を選択で...
-
ラジオボタンにタブインデック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウン選択を変更すると、...
-
<input>の選択肢をプルダウンメ...
-
スマホのフォームでのselect複...
-
同じ名前のセレクトがある場合...
-
selectを変更不可にしたい
-
javascriptでセレクトボックス...
-
3つの連動したプルダウンメニュ...
-
Selectボックスの一覧表示方法
-
全てのselect要素をデフォルト...
-
リストボックス内の重複したも...
-
ラジオボタンの選択に応じてプ...
-
addclassがうまく働きません
-
ラジオボタンとプルダウンを連...
-
セレクトボタンで特定の項目で...
-
VBScriptでHTMLのセレクトボッ...
-
【javascript】連想配列からセ...
-
連想配列からセレクトボックス...
-
JavaScriptで<select>の<option...
-
セレクトボックスの初期選択と...
-
セレクトボックスで配列を呼び...
おすすめ情報