- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:input type="hidden"で送る値を、セレクトした内容に応)
input type="hidden"で送る値を、セレクトした内容に応じて動的に変えるにはどうしたらよいでしょうか?
このQ&Aのポイント
- フォームの選択肢に応じて動的に値を変える方法について教えてください。
- 現在の書き方だと、選択肢の一部を送信できません。
- 解決策として、フォームを使わずにデータをAPIから取得する方法もありますが、このフォームで処理したい場合はどうすれば良いでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
<option value="0">すべての商品</option> であなく <option>すべての商品</option> こうすれば 「0」のかわりに「すべての商品」が送信されるようになるわよ。 両方送りたいなら <option value="0:すべての商品">すべての商品</option> こうしてあげてPHPで分解してあげるのも一つの手よ。 どうしてもhiddenに格納して送りたいならJavaScriptでhiddenのvalueを書き換えるしかないわね。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.2
>「すべての商品」という文字列が送れません。 本末転倒していませんか? サーバーからoptionのvalueをクライアントに渡しているわけですから サーバー側はvalue=0のときは「すべての商品」を示すことは最初からわかっているわけです。 なので、「すべての商品」なんて文字列を無駄に送る必要はありません。
質問者
お礼
アドバイスありがとうございます。 >サーバー側はvalue=0のときは「すべての商品」を示すことは最初からわかっているわけです。 遷移先へ渡して、画面に表示させたり、ページタイトルとして利用したいと考えています。 もしかしたら、サーバー側から取得したら? といった主旨のアドバイスをいただいているのかもしれませんが、そのやり方が分からないので、hiddenで渡したいと思ってます。
お礼
回答ありがとうございました。 submitした時点で、option valueの値も利用するので(APIへ投げる)、 「hiddenのvalueを書き換える方法」を試してみたいと思います。 JavaScriptなので、そちらの方で聞いてみます。 http://oshiete.goo.ne.jp/qa/6217505.html