日期:2014-05-16  浏览次数:20403 次

只要用jquery validate提交验证一次后,错误提示一直存在.
下面这段代码是当一提交的表单值为空时,就会出现提示错误.
现在提示错误也出来了,都正常.就是一旦提交一次后,那错误信息就会一直在页面存在着,不会自动消失.
我想做的判断是,当鼠标移到其它焦点后,这个错误信息就会自动消失隐藏掉.
希望高手,能告知一下...

HTML主要代码如下:
HTML
<form  method="post" action="index.php?ac=search&at=list" name="search" id="search">
<input type="text" name="keyword" title="Search" class="searchinput" id="keyword"  size="10"/>&nbsp;<input type="image" class="searchaction" />
</form>


Jquery validate验证代码:

$().ready(function() {

$("#search").validate({
rules: {

keyword: {
required: true,
minlength: 2
}
},
messages: {
keyword: {
required: "请输入关键字",
minlength: "不能少于两个字符"
}

}
});

});




------解决方案--------------------
感觉没必要这样做.一直显示是对的,这样可以提醒用户在重新输入时注意是哪里出错.
不要让用户去记忆这个事,很多人不愿意花费这个精力.
------解决方案--------------------
看不太懂你想要达到的效果,是不是点提交报错之后,再去修改的时候不管对错都隐藏信息啊??


$().ready(function() {
     
    $("#search").validate({
        onfocusout: false,
        onkeyup: false,
        onclick: false,
        rules: {
            keyword: {
                required: true,
                minlength: 2
            }
        },
        messages: {
                keyword: {
                required: "请输入关键字",
                minlength: "不能少于两个字符"
            }
        },
        showErrors: function(errorMap, errorList) {
            this.defaultShowErrors();
            for(var i = 0; i < errorList.length; i++) {
$(errorList[i].element).one("blur", function() {
                     $("label.error[for='" + (this.id ? this.id : this.name) + "']").remove();
                });
            }
        }
    });
     
});