0

MVC フォームからのキャンセルと保存を許可するために、複数の送信ボタンの次のソリューション ( ASP.NET MVC 3 RC で保存 | 保存して閉じる | フォーム アクションのキャンセルを最適に実装する方法) を使用しています。

<form action="Xxxx" method="post" onsubmit="return validatePost()">
...
<input type="submit" name="actionType" value="Save" />
<input type="submit" name="actionType" value="Cancel" />
</form>

onsubmit と呼ばれる JavaScript を使用する場合:

function validatePost() {
    if(Blah blah){
        return true;
    }
}

「保存」がクリックされた場合にのみこのJavaScript検証を実行したいのですが、JavaScriptからどのボタンがクリックされたかわかりません。

を使用して actionType 値を取得しようとしdocument.forms[0].elements["actionType"].valueましたが、フォームに actionType という名前のアイテムが複数あるため、取得できませんでした。

誰でも助けることができますか?

ありがとう

4

2 に答える 2

1

使用できますidhttp://jsfiddle.net/7p5N5/

<form method="post">
<input id="save" type="submit" name="actionType" value="Save" />
<input type="submit" name="actionType" value="Cancel" />
</form>

function validate() {
    alert('Validate');
    return false; // cancel click, true will submit
}

$("#save").click(function () {
    return validate();
});

を使用したくない場合はid、 を使用$('input[name="actionType"][value="Save"]')して [保存] ボタンを選択できます

于 2013-03-27T16:36:04.147 に答える
0

「保存」入力のみの onclick イベントをリッスンして、validatePost 関数を使用することはできますか。

次に、「キャンセル」のオンクリックで適切なアクションを実行するための別の機能を使用できます。

于 2013-03-27T16:31:07.503 に答える