【问题标题】:Jquery Validation And Update Panel Together not workingJquery验证和更新面板一起不起作用
【发布时间】:2011-07-11 13:38:25
【问题描述】:

通过添加此代码,我解决了尽管出现验证错误但仍将页面发回的问题 ([博客]:Jquery Validation And Update Panel Together) 但它引入了一个新的,现在通过选择主下拉列表,我的子下拉列表没有填充我已经从目标方法后面的代码中检查了填充子下拉列表根本没有触发......。

    <asp:UpdatePanel ID="updRole" runat="server" UpdateMode="Conditional">                    <ContentTemplate>     
    <script type="text/javascript" >         
    Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest            (instance_initializeRequest);        
    function instance_initializeRequest(sender, args) {  
    if (!Validator())   
    {args.set_cancel(true); 
    } 
    }         
    </script> 
    </ContentTemplate> 
    </asp:UpdatePanel> 

我在母版页中的这段代码在默认情况下在 .ready() 事件中触发了 validator() 函数,但问题是通过在任何内容页面中添加更新面板是方法正在触发(验证错误也是显示 2 秒),但页面正在回复。

    <script type="text/javascript">
    // only for demo purposes
    $.validator.setDefaults({
        invalidHandler: function (form, validator) {    

        }
    });

    $().ready(function () {
        Validator();         

    });

    function Validator() {

        var container = $('div.container');
        // validate the form when it is submitted
        var validator = $("#form1").validate({
            errorContainer: container,
            errorLabelContainer: $("ul", container),
            wrapper: 'li',
            meta: "validate"
        });
    }
    </script>

【问题讨论】:

    标签: asp.net jquery-plugins jquery-validate updatepanel


    【解决方案1】:

    头脑中的脚本:

    <script type="text/javascript">
        // only for demo purposes
        $().ready(function () {
            $.validator.setDefaults({
                invalidHandler: function (form, validator) {  }
            });
    
            var container = $("div.container");
    
            $("#form1").validate({
                errorContainer: container,
                errorLabelContainer: $("ul", container),
                wrapper: 'li',
                meta: "validate"
            });
        });
    </script>
    

    ScriptManager 控件下方的脚本:

    Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(instance_initializeRequest);
    
        function instance_initializeRequest(sender, args) {
            if (!$("#form1").validate().form()) {
                args.set_cancel(true);
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2011-04-11
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      相关资源
      最近更新 更多