0

フォーム内にボタンがあります。問題は、クリックしてもサーバー側の機能が実行されないことです。サーバー機能とクライアント側の検証を実行している間、フォームの送信を防ぐことは可能ですか?

前もって感謝します。

html (フォーム内)

  <button class="submit" runat="server" id="v4"  onserverclick="v4_Click" >Validate</button>

jquery

 $('#v4').click(function (event) {
             if (validation()) {
                 slideToStep(5);
             }
             return false;
         });

c#

protected void v4_Click(object sender, System.EventArgs e)
        {
            System.Diagnostics.Debug.Write("test");
        }
4

3 に答える 3

1

ボタンのイベントではなく、フォームevent.preventDefault()のイベントにバインドすることで、目的を達成できると思います。submitclick

  1. onclickボタンがフォームを送信する関数を呼び出すように 設定します。

    <button class="submit" id="v4" onclick="SubmitForm();" runat="server" onserverclick="v4_Click" >Validate</button>

  2. フォームを送信する関数を設定してSubmitForm()から、関数を送信イベントにバインドします。

関数SubmitForm() {
    $('#form1').submit();
}

$(関数 () {
    $('#form1').submit(関数 (イベント) {
        if (検証()) {
            slideToStep(5);
        }
        そうしないと
        {
            //検証に失敗しました。フォームを送信できません。
            event.preventDefault();
        }
    });
});
于 2013-10-09T15:57:11.190 に答える