我正在尝试禁用验证,直到发生错误后提交。onfocusout 处理程序工作正常,但 onclick 不适用于复选框或选择元素。
我写了以下内容作为一个简单的例子。如果您提交空白表格,然后更正复选框并选择,则它们不应立即验证。您将看到文本输入正常工作。
无论 onclick 处理程序如何,选择似乎有时都有效。它确实在 safari 中验证了 onclick,但在 chrome 中没有。
小提琴:http: //jsfiddle.net/ebMdq/6/
<form id="myForm" action="">
Name: <input type="text" name="fname" /><br />
Do you Rawk? <input type="checkbox" name="rock" /><br />
choose color: <select id="color" name="color" class="required">
<option value="">Choose One</option>
<option value="blue">blue</option>
<option value="blue">red</option>
</select><br />
<input type="submit" />
</form>
$(function () {
var validator = $("#myForm").validate({
onfocusout: false,
onkeyup: false,
onlclick: false,
rules: {
fname: "required",
rock: "required",
color: "required"
},
messages: {
fname: "Enter your firstname",
rock: "you know you do",
color: "pick one!",
},
});
});