input type="hidden"で送る値を、セレクトした内容に応じて動的に変えるにはどうしたらよいでしょうか?
▽現状
<form action="search.php" method="get">
キーワード:<input type="text" name="keyword">
<select name="genreid">
<option value="0">すべての商品</option>
<?php foreach ($genres as $hit) { ?>
<option value="<?php echo ($hit->genreId); ?>">
<?php echo ($hit->genreName); ?>
</option>
<?php } ?>
</select>
<input type="hidden" name="genrename" value="<?php echo ($genres->genreName); ?>">
▽問題点
この書き方だと、<option value="0">を選択した際、「すべての商品」という文字列が送れません。
<option value="0">を選択した際は「すべての商品」を、
それ以外を選択した場合は、<?php echo ($genres->genreName); ?>を送りたいのですが、どう書けばよいでしょうか?
最終的には、遷移先で、$genrename=$_GET["genrename"];で利用する予定です。
▽その他
http://oshiete.goo.ne.jp/qa/6215844.htmlで回答いただいた内容で、解決したつもりだったのですが、新たな疑問が出てきたので、質問しました。上記でアドバイスいただいた、フォームを使わないやり方については、データをAPIから取得していること等もあり、どうやって処理してよいか分からないため、できればこのフォームでやりたいと考えてます…。
No.1ベストアンサー
- 回答日時:
<option value="0">すべての商品</option>
であなく
<option>すべての商品</option>
こうすれば
「0」のかわりに「すべての商品」が送信されるようになるわよ。
両方送りたいなら
<option value="0:すべての商品">すべての商品</option>
こうしてあげてPHPで分解してあげるのも一つの手よ。
どうしてもhiddenに格納して送りたいならJavaScriptでhiddenのvalueを書き換えるしかないわね。
回答ありがとうございました。
submitした時点で、option valueの値も利用するので(APIへ投げる)、
「hiddenのvalueを書き換える方法」を試してみたいと思います。
JavaScriptなので、そちらの方で聞いてみます。
http://oshiete.goo.ne.jp/qa/6217505.html
No.2
- 回答日時:
>「すべての商品」という文字列が送れません。
本末転倒していませんか?
サーバーからoptionのvalueをクライアントに渡しているわけですから
サーバー側はvalue=0のときは「すべての商品」を示すことは最初からわかっているわけです。
なので、「すべての商品」なんて文字列を無駄に送る必要はありません。
アドバイスありがとうございます。
>サーバー側はvalue=0のときは「すべての商品」を示すことは最初からわかっているわけです。
遷移先へ渡して、画面に表示させたり、ページタイトルとして利用したいと考えています。
もしかしたら、サーバー側から取得したら? といった主旨のアドバイスをいただいているのかもしれませんが、そのやり方が分からないので、hiddenで渡したいと思ってます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付のセレクトボックスで0付き...
-
セレクトしたときに全て初期状...
-
RDFの名前空間の要素をxpathで...
-
foreachで次の行の値を取得して...
-
ラジオボタンとプルダウンで困...
-
PHPをはじめ早くも壁に当たって...
-
プルダウンメニュー
-
セレクトメニューの値が旨く得...
-
input type="hidden"で送る値を...
-
HTMLで前の画面に戻る時、入力...
-
phpの掲示板で新しい順に表...
-
検索時の選択内容を保持する方法
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
-
大鏡「若き日の道長」の訳
-
VBA で、スペースを含むファイ...
-
phpで、フォームのラジオボタン...
-
syntax error, unexpected '}' ...
-
laravelを利用してコントロール...
-
mySQLのデータを多次元配列に格...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンとCSVの連動
-
MySQLのレコードを検索、...
-
連動させたいセレクトボックス...
-
2つのプルダウンメニュから受け...
-
phpでのselect値の取得・表記に...
-
セレクトしたときに全て初期状...
-
複数 selectフォームから今回on...
-
<select>文、foreachと初期値設定
-
Smartyで、セレクトボックスが...
-
CodeIgniter/set_value()
-
phpでカレンダー作成
-
現在時刻を反映させた時刻のプ...
-
奇数や偶数を調べる関数
-
PHP で画面の一部だけを変えたい。
-
GET又はPOSTで受け取るデータに...
-
複数のセレクトボックスを1つに...
-
選択されたプルダウンの値を変...
-
プルダウンリンクを外部ファイ...
-
【PHP&JavaScript】複数の別ウ...
-
input type="hidden"で送る値を...
おすすめ情報