问题图片: http://tinypic.com/view.php?pic=2duwlsp&s=5
问题描述:我有一个“工作”的jQuery表单验证,除了一个可视错误。当您第一次出现验证错误时,一切都会显示出来。但是如果您修复错误,然后重新导致错误,则图像不会在第二次显示。
请参阅上面的截图,了解问题的图片。
我的代码:
<script type="text/javascript">
$(document).ready(function(){
$('#signupform').validate({
wrapper: 'span class="error"',
meta: 'validate',
highlight: function(element, errorClass, validClass) {
if (element.type === 'radio') {
this.findByName(element.name).addClass(errorClass).removeClass(validClass);
} else {
$(element).addClass(errorClass).removeClass(validClass);
}
// Show icon in parent element
var error = $(element).parent().find('span.error');
error.siblings('.icon').hide(0, function() {
error.show();
});
},
unhighlight: function(element, errorClass, validClass) {
if (element.type === 'radio') {
this.findByName(element.name).removeClass(errorClass).addClass(validClass);
} else {
$(element).removeClass(errorClass).addClass(validClass);
}
// Hide icon in parent element
$(element).parent().find('span.error').hide(0, function() {
$(element).parent().find('span.valid').fadeIn(200);
});
},
"rules":{"username":{"required":true,"remote":{"url":"http:\/\/localhost\/welcome\/remote","type":"post"}}},"onkeyup":false});
});
</script>
我尝试了什么:我已经尝试过查看高亮显示和取消高亮显示功能。我的“猜测”是错误在“unhighlight”部分,因为它只发生在第二个错误之后(即高亮,不亮,高亮 - >错误)
所以也许我正在删除一些我不应该做的事情?
答案 0 :(得分:0)
解决了这个问题。变化
// Show icon in parent element
var error = $(element).parent().find('span.error');
error.siblings('.icon').hide(0, function() {
error.show();
});
到
// Show icon in parent element
var error = $(element).parent().find('span.error');
error.show();
},