Jquery validate为什么只有在IE7中不正常
2个回答
展开全部
代码如下:
我测试了很多浏览器,FF,Chrome, IE789,10,Safri, Opera,只有在IE7下不能work,直接就提交到后台了,其他浏览器都可以正常进行校验。都检查过了,格式都是规范的。
XML/HTML code
<script src="/Scripts/jquery-1.7.1.js"></script>
<!--jQuery Validation Plugin 1.9.0-->
<script type="text/javascript" src="/Scripts/jquery.validate.min.js"></script>
<!--JS 代码-->
$(document).ready(function () {
$("#loginForm").validate({
rules: {
password: { required: true },
email: {
required: true,
email: true
}
},
messages: {
password: { required: "请输入密码" },
email: {
required: "请输入电子邮件地址",
email: "请输入正确的电子邮件地址"
}
},
errorPlacement: function (error, element) {
error.appendTo(element.next("span"));
}
});
});
<!--Form 代码-->
<form action="/Home/Login" id="loginForm" method="post">
<div id="divLoginForm">
<ul>
<li>
<span>电子邮件:</span>
</li>
<li>
<input type="text" name="email" id="tenantName" />
<span class="errMsg"></span>
</li>
<li style="margin-top:30px;">
<span>密码:</span>
</li>
<li style="margin-top:30px;">
<input type="password" name="password" />
<span class="errMsg"></span>
</li>
</ul>
<input id="loginSubmit" type="submit" value="登陆" />
</div>
<input type="hidden" name="returnUrl" />
</form
Jquery validate有两种验证方法
一种是基于表单的验证,示例代码
JavaScript code
<script type="text/javascript">
$(function () {
$.validateForm('loginForm', {
rules: {
'<%= this.txtName.ClientID %>': { required: true, rangelength: [1, 20], regex: "^(([A-Za-z0-9]{1,20})|([A-Za-z0-9\u4e00-\u9fa5]{1,10})|([\u4e00-\u9fa5]{1,10}))$" },
'<%= this.txtpassword.ClientID %>': { required: true, rangelength: [6, 16] }
},
msg: {
'<%= this.txtName.ClientID %>': { required: "用户真实姓名不能为空", rangelength: "真实姓名只能为1-20字符(只能输入10个汉字)", regex: "真实姓名只能为汉字、数字、字母(只能输入10个汉字)" },
'<%= this.txtpassword.ClientID %>': { required: "用户密码不能为空", rangelength: "6~16个字符(包括字母、数字、特殊符号,区分大小写)" }
}
})
});
</script>
一种是基于表单中按钮的点击验证触发,示例代码
JavaScript code
$(function () {
$.clickValidate('loginSubmit', {
rules: {
'<%= this.txtRoleName.ClientID %>': { required: true, rangelength: [1, 20], regex: "^(([a-zA-Z0-9_]{1,20})|([a-zA-Z0-9\u4e00-\u9fa5_]{1,10})|([\u4e00-\u9fa5]{1,10}))$" },
'<%= this.txtDescription.ClientID %>': { rangelength: [0, 200] }
},
msg: {
'<%= this.txtRoleName.ClientID %>': { required: '用户组名称不能为空', rangelength: "用户组名称只能为1-20字符(不支持特殊字符)", regex: "用户组名称只能为1-20字符或者1-10个汉字(不支持特殊字符)" },
'<%= this.txtDescription.ClientID %>': { rangelength: "备注太长" }
}
})
});
我测试了很多浏览器,FF,Chrome, IE789,10,Safri, Opera,只有在IE7下不能work,直接就提交到后台了,其他浏览器都可以正常进行校验。都检查过了,格式都是规范的。
XML/HTML code
<script src="/Scripts/jquery-1.7.1.js"></script>
<!--jQuery Validation Plugin 1.9.0-->
<script type="text/javascript" src="/Scripts/jquery.validate.min.js"></script>
<!--JS 代码-->
$(document).ready(function () {
$("#loginForm").validate({
rules: {
password: { required: true },
email: {
required: true,
email: true
}
},
messages: {
password: { required: "请输入密码" },
email: {
required: "请输入电子邮件地址",
email: "请输入正确的电子邮件地址"
}
},
errorPlacement: function (error, element) {
error.appendTo(element.next("span"));
}
});
});
<!--Form 代码-->
<form action="/Home/Login" id="loginForm" method="post">
<div id="divLoginForm">
<ul>
<li>
<span>电子邮件:</span>
</li>
<li>
<input type="text" name="email" id="tenantName" />
<span class="errMsg"></span>
</li>
<li style="margin-top:30px;">
<span>密码:</span>
</li>
<li style="margin-top:30px;">
<input type="password" name="password" />
<span class="errMsg"></span>
</li>
</ul>
<input id="loginSubmit" type="submit" value="登陆" />
</div>
<input type="hidden" name="returnUrl" />
</form
Jquery validate有两种验证方法
一种是基于表单的验证,示例代码
JavaScript code
<script type="text/javascript">
$(function () {
$.validateForm('loginForm', {
rules: {
'<%= this.txtName.ClientID %>': { required: true, rangelength: [1, 20], regex: "^(([A-Za-z0-9]{1,20})|([A-Za-z0-9\u4e00-\u9fa5]{1,10})|([\u4e00-\u9fa5]{1,10}))$" },
'<%= this.txtpassword.ClientID %>': { required: true, rangelength: [6, 16] }
},
msg: {
'<%= this.txtName.ClientID %>': { required: "用户真实姓名不能为空", rangelength: "真实姓名只能为1-20字符(只能输入10个汉字)", regex: "真实姓名只能为汉字、数字、字母(只能输入10个汉字)" },
'<%= this.txtpassword.ClientID %>': { required: "用户密码不能为空", rangelength: "6~16个字符(包括字母、数字、特殊符号,区分大小写)" }
}
})
});
</script>
一种是基于表单中按钮的点击验证触发,示例代码
JavaScript code
$(function () {
$.clickValidate('loginSubmit', {
rules: {
'<%= this.txtRoleName.ClientID %>': { required: true, rangelength: [1, 20], regex: "^(([a-zA-Z0-9_]{1,20})|([a-zA-Z0-9\u4e00-\u9fa5_]{1,10})|([\u4e00-\u9fa5]{1,10}))$" },
'<%= this.txtDescription.ClientID %>': { rangelength: [0, 200] }
},
msg: {
'<%= this.txtRoleName.ClientID %>': { required: '用户组名称不能为空', rangelength: "用户组名称只能为1-20字符(不支持特殊字符)", regex: "用户组名称只能为1-20字符或者1-10个汉字(不支持特殊字符)" },
'<%= this.txtDescription.ClientID %>': { rangelength: "备注太长" }
}
})
});
2015-01-23
展开全部
如果真的不正常,那只能说明,不兼容的问题还是存在的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询