我有一组输入字段。如果其中任何一个不正确,我将在控件上方的气泡消息中显示它。我做的是:
errorPlacement: function(error, element) {
error.insertAfter(element)
var message = error.html();
error.html('<div class="innerError"><div class="message">' + message + '</div><div class="corner"></div></div>');
}
现在,当字段无效时,消息按预期显示,但是当我将焦点移出字段时,不更改它,或者即使我更改它,内部div(消息)仍然是...
先谢谢!
答案 0 :(得分:0)
一个简单的例子,验证文本框
<form action="/">
<input type="text" /><span class="error"></span><br />
<input type="submit" value="submit" />
</form>
$(function () {
$('input:submit').click(function (e) {
$('input:text').each(function () {
if ($(this).val() == "") {
e.preventDefault();
$(this).parent().find('span').html("input text is blank");
}
});
});
$('input:text').blur(function () {
if ($(this).val() != "") {
$(this).parent().find('span').text("");
}
});
});
所以基本上你需要应用.blur事件(焦点输出)并重新验证输入 如果有效,则删除错误消息,否则将其保留。