• ベストアンサー

フォームの一部をPOSTで送信できますか?

フォームのPOST自体をあまり理解できていないかも知れないのですが・・・ onClickイベントでJavascriptでパラメータを送信したいと思っています。 <input type="text" name="text1"> <input type="text" name="text2"> <input type="text" name="text3"> <input type="text" name="text4"> <input type="text" name="text5"> <input type="button" value="ボタン1"> <input type="button" value="ボタン2"> <input type="button" value="ボタン3"> というようなフォームがあった場合、ボタン1を押したらtext1とtext2の値を、 ボタン2を押したらtext1とtext3の値を・・・という風に 送信する内容を変えたいのですが、それをPOSTで渡すことは可能なのでしょうか? ちなみに送信したい内容は、ボタンが違っても重なっているものもあります。 また可能であれば、どう記述すればよろしいでしょうか?(NNです) よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • s_doc
  • ベストアンサー率24% (93/377)
回答No.2

<SCRIPT LANG=JavaScript> <!-- function setParams(val1, val2) { with(document) { ButtonArea.Value1.value = document.ParamArea["text"+val1].value; ButtonArea.Value2.value = document.ParamArea["text"+val2].value; } } // --> </SCRIPT> <FORM NAME="ParamArea"> <input type="text" name="text1"> <input type="text" name="text2"> <input type="text" name="text3"> <input type="text" name="text4"> <input type="text" name="text5"> </FORM> <FORM NAME="ButtonArea" METHOD="Post" ACTION="xxx.cgi"> <input type="button" value="ボタン1" onClick="setParam(1,2)"> <input type="button" value="ボタン2" onClick="setParam(1,3)"> <input type="button" value="ボタン3" onClick="setParam(2,4)"> <INPUT TYPE="hidden" NAME="Value1"> <INPUT TYPE="hidden" NAME="Value2"> </FORM> 試してないので一応「自信なし」にしておきます。

sky_blue
質問者

お礼

ボタンごとにFORMを設定するというのは考えてもみませんでした! この方法ですと、ボタンごとにActionも送信する値の数も変更できますよね! 助かりました、ありがとうございました!

その他の回答 (1)

  • bikkuri
  • ベストアンサー率33% (23/68)
回答No.1

同じformにhiddenのフィールドを2つ設け <input type=hidden name=val1> <input type=hidden name=val2> ボタン1~3の処理で必要なテキストのデータを val1, val2に設定して、formのsubmitを実行するのはどうでしょうか。 当然、formのactionに指定されたcgiでval1とval2を処理するように しないといけないです。

sky_blue
質問者

お礼

なるほど・・・こういうHiddenの使い方があるのですね! でも、やはりPOST自体の機能としては、そのFORMの値を全て送信してしまうのですね。 (それすら良く分かっていませんでした) お返事ありがとうございました。

関連するQ&A