- ベストアンサー
submit から変数を渡せませんか?
フリーのCGI(perl)を改良中ですが、submitボタンからCGIに変数を渡せませんか? ほとんど同じ内容で、少しだけ違う事を実行させたいので、submitボタンを二つ作って submit(1)なら$hogeにAを、 submit(2)なら$hogeにBを与えてCGIに渡す。 と言うようなことをしたいです。 やはり別に書かないと不可能でしょうか? 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以下で送信を試してみてください。 <html> <head> </head> <body> <form method="get"> <input type="text" name="x" value="z"> <input type="submit" name="submit" value="送信A"> <input type="submit" name="submit" value="送信B"> </form> </body> </html> type="submit"もnameを与えればvalueが送信されるのがわかると思います。 というわけでボタンのvalueで判別可能です。 (ただし、テキストフィールドでエンターキーを押されて送信された場合の扱いには注意が必要です)
その他の回答 (1)
- hiroaki101
- ベストアンサー率81% (97/119)
こんにちは。例えば、GETで http://www.example.com/index.cgi?hoge=A などと送ることができればいいのでしょうか。それでしたら、フォーム内にtextかhiddenのinputを作成し、ボタンクリックで以下のようなJavascriptを動かしてみてはどうですか。 ... function sending(par) { document.form1.hoge.value=par; document.form1.submit(); } // --> </script> </head> <body> ... <form method="GET" action="./index.cgi" name="form1"> ... <input type="button" name="A" value="Select A" onClick="javascript:sending(this.name)"> <input type="button" name="B" value="Select B" onClick="javascript:sending(this.name)"> <br> <input type="text" size="1" name="hoge" value=""> ... </form> ... 手早く作ったので、間違っていたらごめんなさい。適当に応用して下さい。
お礼
レスありがとうございました。 今回は1つのinput typeだけでsubmitからの変数を受け取りたかったので steel_gray様の教えを実践させていただきました。 今回教えていただいた方法は、また次回の機会に試めさせていただきます。 どうもありがとうございました。
お礼
御礼が遅くなり申し訳ございません。 昨晩、CGIを書き換えたところ希望通りに動作いたしました。 type="submit"にもnameを与えてやればvalueが送信されているのが よ~く解りました。 ありがとうございました。