- 締切済み
複数のSubmitボタンをname属性によって見分けるには?
複数のSubmitボタンをname属性によって、どの送信ボタンが押されたか見分けられるらしいのですが、具体的にどのように見分けるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- s_doc
- ベストアンサー率24% (93/377)
回答No.2
<INPUT TYPE=submit NAME=button VALUE="ボタン1"> <INPUT TYPE=submit NAME=button VALUE="ボタン2"> 一つのフォームに上記のように記述すると 「ボタン1」「ボタン2」 ができるわけですが、 ボタン1をクリックするとbuttonには「ボタン1」が設定され、 ボタン2をクリックするとbuttonには「ボタン2」が設定されます。 CGIで処理するならこれで充分でしょう。 No.1で参照されている質問のスクリプトは、 フォームのJavaScript中で値を利用しようとしているので回答のような工夫が必要になります。 <INPUT TYPE=submit NAME=button1 VALUE="ボタン1" onClick="myFunction(this.name)"> <INPUT TYPE=submit NAME=button2 VALUE="ボタン2" onClick="myFunction(this.name)"> それぞれのボタンに違う名前を付ければ、 myFunctionの引数としてボタン名を得ることはできます。
- todo36
- ベストアンサー率58% (728/1234)
回答No.1
見分けられないので↓のような工夫が必要です。
補足
アドバイスありがとうございます。 アドバイス通りやればボタン名は区別する事ができました。 <FORM name = "form" METHOD="post" ACTION="test.asp" onSubmit="if(Event() != true) {return false}"> のようにイベントハンドラ「onSubmit」が関数の処理を発生させているので、「Event(this.name)」としてしまうとForm名の"form"が引数として渡しています。イベントハンドラ「onSubmit」を使用してボタン名を引数として渡すのは不可能なのでしょうか?