我有兩個輸入文本框形式,並且我已經包含了兩個jQuery的驗證規則:jQuery驗證插件 - 錯誤的突出問題
<script src="../../Scripts/jquery-validate/jquery.validate.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#respondForm').validate({ onclick: false,
onkeyup: false,
onfocusout: false,
highlight: function(element, errorClass) {
$(element).css({ backgroundColor: 'Red' });
},
errorLabelContainer: $("ul", $('div.error-container')),
wrapper: 'li',
rules: {
'text': {
required: true,
minlength: 5,
maxlength: 10
},
integer: {
required: true,
range: [0, 90]
}
},
messages: {
'text': {
required: "xxx_Required",
minlength: "XXX Should be greater than 5",
maxlength: "XXX Cannot be greater than 10"
},
integer: {
required: "is required",
range: "is out of range: [0,90]"
}
}
});
});
</script>
</head>
.
.
.
<input type="text" id="text" name="text" />
<br />
<input type="text" id="integer" name="integer" />
<br />
<input type="submit" name="submit" value="Submit" />
<br />
我用:
function(element, errorClass) {
$(element).css({ backgroundColor: 'Red' });
}
突出錯誤控制。現在的問題是,在以下情形中,輸入文本框保持突出顯示(背景色:紅色):
- 在文本框中小於5個字符1
- 離開文本框2空白 輸入文本
- 點擊提交
- 兩個輸入文本框的背景將變爲紅色(這是正確的)
- 現在進入其在文本框中輸入6個字符1(有效輸入)
- 離開文本框2空 文本
- 點擊提交
- 兩個文本框的背景顏色保持紅色。在期望的情況下,文本框1的背景顏色不應該是紅色
如何解決此問題?
是的,這個答案是相當接近,但我可以通過提供unhighlight財產做 – Ngm 2009-11-16 07:06:56