jQuery验证未在IE中运行(在FF中工作)

jQuery验证未在IE中运行(在FF中工作),jquery,internet-explorer,jquery-validate,Jquery,Internet Explorer,Jquery Validate,我有一个简单的表单需要验证。我让它在FF中工作,但它在IE中的行为很奇怪。我使用的是jQuery1.6和jQueryValidate1.8 下面是完整的html代码。正如你所看到的,我已经尝试过更改字符集属性,因为我读到一些人成功地为IE做了这件事。仍然没有运气。奇怪的是,当你在IE中运行它时,submitHandler会被触发(警告显示表单已“提交”)。就好像验证函数根本就不会启动一样,即使整个表单为空。有人能试试这个或提出解决方案吗 <html> <head> &

我有一个简单的表单需要验证。我让它在FF中工作,但它在IE中的行为很奇怪。我使用的是jQuery1.6和jQueryValidate1.8

下面是完整的html代码。正如你所看到的,我已经尝试过更改字符集属性,因为我读到一些人成功地为IE做了这件事。仍然没有运气。奇怪的是,当你在IE中运行它时,submitHandler会被触发(警告显示表单已“提交”)。就好像验证函数根本就不会启动一样,即使整个表单为空。有人能试试这个或提出解决方案吗

<html>

<head>

<script src="jquery.min.js" type="text/javascript" charset="ISO-8859-1"></script>
<script src="jquery.validate.min.js" type="text/javascript" charset="ISO-8859-1"></script>

<script>
$(document).ready(function() {

    var prospectTxErrors = {
        prospectName : {
            required : "An entry is required in field Prospect.",
            rangelength : "Prospect Name must be between 2 and 45 characters."
            },
        groupSize : {
            required : "An entry is required in field Group Size.",
            digits : "Numeric data is required in field Group Size."
        },
        zipCode : {
            required : "An entry is required in field Zip Code.",
            digits : "Numeric data is required in field Zip Code.",
            rangelength : "Zip Code must be 5 digits."
        }, 
        sicCode : {
            required : "This is an invalid SIC code. Enter the SIC again or search for the SIC code.",
            rangelength : "This is an invalid SIC code. Enter the SIC again or search for the SIC code.",
            digits : "This is an invalid SIC code. Enter the SIC again or search for the SIC code."
        }, 
        agencyProducer : {
            required : "An entry is required in the Agent field."
        },
        phone : {
            required : "A 10 digit entry is required for Phone field."
        }   
    };

    $.validator.setDefaults({ 
        submitHandler : function() { alert("submitted!"); }
    });

    $("#prospectForm").validate({
        errorLabelContainer : $("#errorDiv ul"),
        wrapper : "li",
        debug : true,
        rules : {
            prospectName : {
                required : true,
                rangelength : [2, 45]
            },
            groupSize : {
                required : true,
                digits : true
            },
            zipCode : {
                required : true,
                digits : true,
                rangelength : [5, 5]    
            },
            sicCode : {
                required : true,
                rangelength : [4, 4],
                digits : true
            },
            agencyProducer : {
                required : true 
            },
            phone : {
                required : true,
                digits : true
            }
        },
        messages : prospectTxErrors
    });
});
</script>

<title>Test Prospect</title>
</head>

<body>

<div id="errorDiv"><ul id="errorList"></ul></div>

<form class="prospectForm" id="prospectForm" method="get" action="">
<label>Prospect Name</label>
<input type="text"
     name="prospectName" 
     id="prospectName"
     class=""/>
<br></br>
<label>Group Size</label>
<input type="text"
     name="groupSize" 
     id="groupSize"
     class=""/>
<br></br>
<label>Zip Code</label>
<input type="text"
     name="zipCode" 
     id="zipCode"
     maxLength="5"
     class=""/>
<br></br>
<label>SIC Code</label>
<input type="text"
     name="sicCode" 
     id="sicCode"
     maxLength="4"
     class=""/>
<br></br>
<label>Agency/Producer</label>
<input type="text"
     name="agencyProducer" 
     id="agencyProducer"
     class=""/>  
<br></br>
<label>Phone</label>
<input type="text"
     name="phone" 
     id="phone"
     class=""/>  
<input class="submit" type="submit" value="Submit"/>

</form>

</body>
</html>

$(文档).ready(函数(){
变量ProspectXErrors={
浏览名称:{
必填:“现场潜在客户中需要输入。”,
rangelength:“潜在客户名称必须介于2到45个字符之间。”
},
组大小:{
必填:“字段组大小中需要输入。”,
数字:“字段组大小中需要数字数据。”
},
zipCode:{
必填:“字段邮政编码中需要输入。”,
数字:“字段邮政编码中需要数字数据。”,
rangelength:“邮政编码必须是5位数字。”
}, 
代码:{
必填:“这是无效的SIC代码。请再次输入SIC或搜索SIC代码。”,
rangelength:“这是无效的SIC代码。请重新输入SIC或搜索SIC代码。”,
数字:“这是无效的SIC代码。请再次输入SIC或搜索SIC代码。”
}, 
代理制作人:{
必填:“代理字段中需要输入。”
},
电话:{
必填:“电话字段需要输入10位数字。”
}   
};
$.validator.setDefaults({
submitHandler:function(){alert(“submitted!”);}
});
$(“#浏览表单”)。验证({
errorLabelContainer:$(“#errorDiv ul”),
包装纸:“李”,
是的,
规则:{
浏览名称:{
要求:正确,
rangelength:[2,45]
},
组大小:{
要求:正确,
数字:真
},
zipCode:{
要求:正确,
数字:对,
rangelength:[5,5]
},
代码:{
要求:正确,
rangelength:[4,4],
数字:真
},
代理制作人:{
必填项:true
},
电话:{
要求:正确,
数字:真
}
},
消息:ProspectXErrors
});
});
测试前景
    潜在客户名称

    组大小

    邮政编码

    SIC代码

    代理商/生产商

    电话
    无需更改整个jquery版本。。只需将ur jquery.validate版本更新为1.9。。。这是因为jquery.validate版本与jquery versions>1.6不兼容。解决方案很简单,您还需要更新jquery.validate的版本。您可以在Microsoft的CDN中找到当前版本1.9,也可以在GitHub中找到最新版本:

    Microsoft Ajax CDN:
    GitHub Jquery验证: