jQuery Validation插件版本1.11.1在Explorer 8中不起作用

时间:2013-07-29 10:40:01

标签: asp.net internet-explorer-8 jquery-validate jquery-1.10

我正在使用jQuery Validation Plugin - v1.11.1和jquery 1.10.2但是下面的代码在IE 8中不起作用。它在IE9及以上版本以及Chrome等其他浏览器中都能正常工作。

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
    <script src="Scripts/jquery_validate.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('#btn').click(function() {                 
                $("#form1").validate({                       
                    rules: { 
                        <%= txt.UniqueID %>: "required"
                    },
                    messages: { 
                        <%= txt.UniqueID %>: "Please enter QTY"
                    }                                    
                });
            });
        });     
    </script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    ID
    <asp:TextBox runat="server" ID="txt" ClientIDMode="Static" />
    <asp:Button Text="Test" runat="server" ID="btn" ClientIDMode="Static" />    
</asp:Content>

已编辑:

我将validate()包装在$('#brn')中的原因。单击(function(){})事件是我有另一个来自GridView RowCommand Event的postBack.Is还有另一种方法来调用jquery validate()只有在点击按钮时?

2 个答案:

答案 0 :(得分:3)

您的代码错误地将.validate()包装在click处理程序...

$('#btn').click(function() {                 
    $("#form1").validate({                       
        ...                             
    });
});

这是错误的,因为.validate()只是插件的初始化方法,因此没有理由将其包装在click处理程序中。提交按钮的click已被插件自动捕获和处理。

这是使用.validate()方法的正确方法......

$(document).ready(function() {

    $("#form1").validate({  // initialize the plugin                 
        // rules & options                          
    });

});

使用jQuery 1.10.2和jQuery Validate 1.11.1运行DEMO,使用IE 8 1进行测试 http://jsfiddle.net/jsDzU/show

1 使用Windows XP SP3中安装的实际版本的IE 8进行测试。永远不要认为另一个IE版本中的“IE 8 Mode”是真实物体或“模拟器”的准确表示 - 事实并非如此。 Microsoft provides free VPC hard drive images for accurate testing in each IE version

答案 1 :(得分:0)

是的,它适用于&#34; jquery-1.4.4.min.js&#34;

你可以在这里测试

demo