プロが教える店舗&オフィスのセキュリティ対策術

複数のSubmitボタンをname属性によって、どの送信ボタンが押されたか見分けられるらしいのですが、具体的にどのように見分けるのでしょうか?

A 回答 (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の引数としてボタン名を得ることはできます。

この回答への補足

アドバイスありがとうございます。
アドバイス通りやればボタン名は区別する事ができました。

<FORM name = "form" METHOD="post" ACTION="test.asp" onSubmit="if(Event() != true) {return false}">
のようにイベントハンドラ「onSubmit」が関数の処理を発生させているので、「Event(this.name)」としてしまうとForm名の"form"が引数として渡しています。イベントハンドラ「onSubmit」を使用してボタン名を引数として渡すのは不可能なのでしょうか?

補足日時:2003/08/25 11:17
    • good
    • 0

見分けられないので↓のような工夫が必要です。



参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=627652
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!