0
     $(document).ready(function () {
        $("#formIsValid").val("false"); 
        $('#form1').validate({
            rules: {
                <%= CmyCd.UniqueID %>: { required:true },
                <%= CmyName.UniqueID %>: { required:true },
            },
            messages: {
            },highlight: function(element, errorClass) {
                $(element).addClass("redBorder");
            },
            unhighlight: function(element, errorClass) {
                $(element).removeClass("redBorder");
            },
            submitHandler: function(form){
                $("#formIsValid").val("true");  
            }
        });

        Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(CheckValidationStatus); 

        function CheckValidationStatus(sender, args) { 
            if($("#formIsValid").val() == "false") { 
                args.set_cancel(true); 
            } 
        }
    });

<input type="hidden" name="formIsValid" id="formIsValid" value="false" />

Web を検索して、asp.net ajax updatepanel で jQuery 検証を使用する関数を作成しました。検証に失敗した場合、コードは正常に動作しますが、問題は、すべての条件が満たされている場合、実際に送信するには 2 回クリックする必要があることです。 formIsValid オンロードが false であるため、フォームは実際にこれを修正する方法がわかりません。問題を修正するためのガイドはありますか?

4

2 に答える 2

0
        $(document).ready(function () {
        $('#form1').validate({
            rules: {
                <%= CmyCd.UniqueID %>: { required:true },
                <%= CmyName.UniqueID %>: { required:true },
            },
            messages: {
            },highlight: function(element, errorClass) {
                $(element).addClass("redBorder");
            },
            unhighlight: function(element, errorClass) {
                $(element).removeClass("redBorder");
            },
        });

        ); 
        Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(CheckValidationStatus); 

        function CheckValidationStatus(sender, args) { 
            if ($('#form1').valid()) { 
                args.set_cancel(false); 
            } else{
                args.set_cancel(true); 
            }
        }
于 2013-05-17T01:25:03.803 に答える