1

asp:checkbox をチェックして asp:button をクリックすることで、いくつかの契約書を簡単に検証しようとしています。

私のボタンでは、これを呼び出しています:

OnClientClick="ValidateConditions();"

そして、関数はこれによって実行されます:

function ValidateConditions() {
 if ($('#ChkAccept').is(':checked')) {
             alert("Checked");
                  args.IsValid = true;
               }
                else {
                   alert('Nope it is not checked');
                args.IsValid = false;
           }
         }

これまでのところ動作していますが、args.IsValid = false; のときにボタン メソッドの実行を停止するにはどうすればよいですか。? 現在、メッセージが表示され、両方のケースでメソッドが実行されます。

それは私が必要とする単純なものに違いありません..よろしくお願いします。

4

3 に答える 3

1

ボタンのイベントを防ぐために以下を実行します:-- ただし、マークアップコードで OnClientClick="return ValidateConditions(this); も実行します

 function ValidateConditions(element,e) {
    if ($(element).prop('checked')) {
        alert("Checked");
        args.IsValid = true;
    }
    else {
        alert('Nope it is not checked');
        args.IsValid = false;
e.preventDefault();
e.stopPropagation();
return false ;
    }

}
于 2012-11-26T10:54:33.207 に答える
0

他のすべての JavaScript を削除しました。

使用するだけです:

   <asp:CheckBox ID="ChkAccept" runat="server" ClientIDMode="Static" Text="I accept the conditions" /> 
    <br />
   <asp:Button ID="BtnConfirm" runat="server" CssClass="uniBtn" Text="Send"
   OnClientClick="if(! $( '#ChkAccept' ).prop( 'checked' )){alert('Not Ticked');return false;}" />  
于 2012-11-26T10:25:33.210 に答える
0

試す:

OnClientClick="return ValidateConditions(this);"

function ValidateConditions(checkbox) {
    return $(checkbox).is(':checked');
}
于 2012-11-26T10:31:36.240 に答える