4

myform に 3 つの sumbit ボタンがあり、クリックしたボタンに基づいて異なる 3 つのアクションが必要です。だから私は同じことをするためにjavascript関数を書く必要があります。どのボタンがクリックされたかを JavaScript で知る方法を教えてください。

Javascript:

<script type="text/javascript" language="javascript">
function submitform(){
    //do something
}

HTML:

form name="myform" method="get,post" onsubmit="return submitform();"
input type="submit" name="submit" value="Home"
input type="submit" name="submit" value="Reschedule"
input type="submit" name="submit" value="Cancel"

どんな助けでも大歓迎です

4

4 に答える 4

2

編集:

どのボタンが押されたかを示す非表示の入力を作成し、サーバーで処理することもできます。ボタンをクリックすると、送信前にその入力が変更されます。

<input type="submit" onclick="javascript:document.getElementById('submitClicked').value='forward';return true;" id="linkName" value="Forward" />
<input type="submit" onclick="javascript:document.getElementById('submitClicked').value='back';return true;" id="back" value="Back" />

デモ: http://jsfiddle.net/Homeliss/vperb/

注:デモでは、フォームを投稿する代わりに jquery を使用してメッセージを表示しますが、これはデモ用です。解決策は単純なjavascriptです

于 2013-02-04T04:01:43.197 に答える
0

jQuery を使用できる場合は、これがはるかに簡単になる可能性があります。

ただし、1 つの解決策は、フォームから submitform() を削除し、各送信ボタンの onclick イベントに追加することです。このようにして、どのボタンがそれを呼び出したかを示すパラメーターを渡すように変更できます。

幸運を。

于 2013-02-04T03:43:20.073 に答える
0

HTMLページでフォームを1回送信できます。そのため、フォームでは送信ボタンを 1 つだけ使用します。しかし、より多くの関数を呼び出すには、onClickイベントを使用できます。入力タイプはボタンにする必要があります。

于 2014-01-06T07:17:27.633 に答える
-1

質問があります。フォーム内に他の入力フィールドはありますか? テキスト フィールドなどの別のフィールドがある場合、テキスト フィールド内で Enter キーを押すと、どのボタン アクションが呼び出されるでしょうか。

私の提案はこれです:

<form name="myform" method="get,post" onsubmit="return false;">
    <input type="button" value="Home" onclick="submitform(1)" />
    <input type="button" value="Reschedule" onclick="submitform(2)" />
    <input type="button" value="Cancel" onclick="submitform(3)" />
</form>

このコードでは、ユーザーはボタンをクリックしてフォームを送信する必要があり、Enter キーを押してもアクションは実行されません。

于 2013-02-04T05:14:49.163 に答える