私が書いたことは、MVCアクションに発生したイベントとjavascriptイベントから発生したイベントについて、もっと理解しています。私が持っているJavaScriptは、押されたボタンに基づいて真または偽の値を設定します。保留中のフォームか保留されていないかは、ユーザーの操作です。同じ事例(私は信じている)では、ボタンを押してフォームをコントローラに送信します。MVCアクションコールの前にJavascriptをクリックするイベント
ここに私が記述しているものがあります。ちょうど私がボタンクリックで提出するフォームです。
@using (Html.BeginForm("RejectInsertComment", Model.controller, FormMethod.Post, new { @class = "modal-form" }))
{
<!-- form elements -->
....
@Html.HiddenFor(x => x.is_pended)
<input type="submit" class="PendLink btn btn-primary" name="Pend" value="Pend"/>
<input type="submit" class="CompleteLink btn btn-primary" name="Complete" value="Complete" />
}
ここでは、pendの値を切り替えるjavascriptがあります。
$('.PendLink').click(function() {
$('#is_pended').val(true);
});
$('.CompleteLink').click(function() {
$('#is_pended').val(false);
});
これは動作しますが、私は、クライアント上で最初のJavascriptの火災を想定したが、どのようにMVCを待つために知っているのですか?
興味深い。しかし、それは意味をなさない。もっと複雑なJSをやっていたら、おそらくpreventDefaultメソッドを使うべきです。クリックイベントでこれを行うとお勧めしますか? – Jared
更新:これは、フォームを送信してjs関数のみを実行したくない場合に行う方法の1つです。 JSを最初に実行する場合は、サブミットボタンの代わりに通常のボタンを使い、$( "#yourFormId")を実行することができます。あなたのjs関数の最後に。 – FailedUnitTest