好的,关于这个表格的最后一个问题我希望。它功能齐全,除了IE8上的一个错误,似乎没有在任何地方记录(在这种情况下,我可以找到......)。
如果我在IE9的IE8模式下运行此表单,我会在开发工具中看到以下内容
SCRIPT65535: Unexpected call to method or property access.
jquery.min.js, line 2 character 65772
,对应于jquery.min.js中的this.appendChild(a)
如果我忽略了错误,验证仍然适用于IE8。在IE9,Chrome,Firefox中没有任何问题。
我的验证码的功能摘要......
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js"></script>
<style>
.incomplete {
border: 1px solid red;
}
</style>
<script type="text/javascript">
//form validation start
$(document).ready(function() {
$("#form").validate({
errorLabelContainer: "input",
wrapper: ".form",
keyup: false,
onfocusout: false,
onclick: false,
onchange: false,
errorElement: "input",
errorClass: "incomplete",
rules: {
organization: {
defaultInvalid: true,
required: true,
minlength: 2
},
firstname: {
defaultInvalid: true,
required: true,
minlength: 2
},
lastname: {
defaultInvalid: true,
required: true,
minlength: 2
},
email: {
defaultInvalid: true,
required: true,
email: true
},
phone: {
defaultInvalid: true,
required: true,
minlength: 10
},
}
});
});
</script>
</head>
<body>
<div id="border">
<div id="form_title">REQUEST INFO</div>
<form id="form" name="form_container" action="#">
<!-- fields -->
<input id="organization" type="text" name="organization" />
<input id="firstname" type="text" name="firstname" />
<input id="lastname" type="text" name="lastname" />
<input id="email" type="text" name="email" />
<input id="phone" type="text" name="phone" />
<!-- submit button -->
<input id="button" name="submit" class="button" type="submit" value="submit" />
</form>
</div>
</body>
</html>
到目前为止,如果没有你们的帮助,我无法做到这一点,谢谢你。
答案 0 :(得分:1)
不确定这是否有帮助,但您的语法错误很少:
phone: {
defaultInvalid: true,
required: true,
minlength: 10
},
请注意额外的逗号。它是列表中的最后一个,不需要它。在此逗号后appendChild
可能正在使用空白规则,这是错误吗?
答案 1 :(得分:0)
好吧,我从来没有真正深入到底,但我发现IE8中没有错误的东西。
主要区别在于errorLabelContainer
已更改为表单的类而不是单个输入,并且errorElement
已被删除(我已经不再需要了)。
wrapper: ".formwrapper",
keyup: false,
onfocusout: false,
onclick: false,
onchange: false,
errorLabelContainer: ".form",
errorClass: "incomplete",