- 締切済み
formに複数ボタン配置と複数の値受け渡しにつきまして、下記のような命
formに複数ボタン配置と複数の値受け渡しにつきまして、下記のような命令をしたいのですが、どうしても解決策がわかりません。 1.jpgで作成したボタンをクリックすると、textの"コンニチワ"、textの30、1.jpgが1.phpへ送られる。 2.jpgで作成したボタンをクリックすると、textの"コンバンワ"、textの50、2.jpgが1.phpへ送られる。 下記は、一応自分で作成したものです。 ●sample.html <form method="post" action="1.php"> <input name="namae"type="text"value="コンチニワ"> <input name="namae"type="text"value="コンバンワ"><br> <BUTTON type ="submit"name="submit1"> <IMG src="1.jpg"> </BUTTON> <BUTTON type ="submit"name="submit2"> <IMG src="2.jpg"> </BUTTON><br> <input name="price"type="text"value="30"> <input name="price"type="text"value="50"> -------------------------------- 【sample.htmlの希望表示】 namaeテキスト namaeテキスト ボタン画像 ボタン画像 priceテキスト priceテキスト -------------------------------- ●1.php <?php $namae=$_POST['namae'] $kakaku=$_POST['price'] $image=&_POST['image'] ?> もしかしたら、imageについては表示させないテキストに隠して値だけ送るという 手もあるかもしれません。やり方がわかりませんが。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yyr446
- ベストアンサー率65% (870/1330)
javascriptに依存するのが許されるなら <form method="post" action="1.php" onsubmit="return false;"> <input name="namae"type="text"value=""><br> <input name="price"type="text"value=""> <input type="hidden" name="image"> <button type ="submit" name="submit1" onclick="sub(this);"><img src="1.jpg" alt="button_1"></button> <button type ="submit" name="submit2" onclick="sub(this);"><img src="2.jpg" alt="button_2"></button><br> </form> <script type="text/javascript"> function sub(button){ switch(button.name){ case "submit1": button.form.namae.value="こんにちわ"; button.form.price.value="30"; button.form.image.value="1.jpg"; break; case "submit2": button.form.namae.value="こんばんわ"; button.form.price.value="50"; button.form.image.value="2.jpg"; break; } button.form.submit(); } </script>
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
> 1.jpgで作成したボタンをクリックすると、textの"コンニチワ"、textの30、1.jpgが1.phpへ送られる。 > 2.jpgで作成したボタンをクリックすると、textの"コンバンワ"、textの50、2.jpgが1.phpへ送られる。 <form>の中に入ってるフィールドは、基本的にnameとvalueがセットになっていれば全てサーバーに送られますから、 これをしたいなら、フォームを2つに分ける必要があります。 <form method="post" action="1.php"> <input name="namae"type="text"value="コンチニワ"><br> <BUTTON type ="submit"name="submit1"> <IMG src="1.jpg"> </BUTTON> <input name="price"type="text"value="30"> </form> <form method="post" action="1.php"> <input name="namae"type="text"value="コンバンワ"><br> <BUTTON type ="submit"name="submit2"> <IMG src="2.jpg"> </BUTTON><br> <input name="price"type="text"value="50"> </form> 1つのフォームで作る場合は、JavaScriptで送るデータを随時生成するか、 $_POST['submit1']、$_POST['submit2']がセットされているかどうかを調べてどちらのボタンが押されたかを判断して、必要なデータだけを使用するようにして下さい。