Javascript 当输入接收焦点时隐藏验证错误

Javascript 当输入接收焦点时隐藏验证错误,javascript,jquery,Javascript,Jquery,代码如下: -在这里,我声明了我的变量: var first = $('#first'); var firstError = $('#firsterror'); // the errors are in span tags (if it matters) // and so on... first.blur(validateFirst); last.blur(validateLast); username.blur(validateUsernam

代码如下: -在这里,我声明了我的变量:

    var first = $('#first');
    var firstError = $('#firsterror'); // the errors are in span tags (if it matters)
    // and so on... 
    first.blur(validateFirst);
    last.blur(validateLast);
    username.blur(validateUsername);
    password.blur(validatePassword);
    confpassword.blur(validateConfpassword);
    month.blur(validateMonth);
    day.blur(validateDay);
    year.blur(validateYear);
    gender.blur(validateGender);

    $('#myForm').submit(function(){
   if( validateFirst() & validateLast() & validateUsername() & validatePassword() &     validateConfpassword() & validateMonth() & validateDay() & validateYear() &   validateGender() ){
        return true;
      }else{
        return false;
      }
    });

    function validateFirst(){
      if(first.val().length < 5){
        first.addClass('error_input');
        firstError.text('You left this empty!');
        firstError.addClass('error');
        return false;
      }else{
        first.removeClass('error_input');
        firstError.text('');
        return true;
      }
    };
      // and so on...  I would like the code to work as so: When an input recives focus the error should hide else the code should run exactly as it is.
var first=$('#first');
var firstError=$(“#firstError”);//错误在span标记中(如果重要的话)
//等等。。。
首先,模糊(validateFirst);
最后,模糊(validateLast);
username.blur(validateUsername);
密码模糊(validatePassword);
confpassword.blur(validateConfpassword);
月份模糊(validateMonth);
day.blur(validateDay);
年份。模糊(AR);
性别。模糊(验证者);
$('#myForm')。提交(函数(){
如果(validateFirst()&validateLast()&validateUsername()&validatePassword()&ValidateOffPassword()&validateMonth()&validateDay()&validateYear()&validateGender()){
返回true;
}否则{
返回false;
}
});
函数validateFirst(){
if(first.val().长度<5){
first.addClass('error_input');
text('您将此项留空!');
firstError.addClass('error');
返回false;
}否则{
首先,removeClass('error_input');
firstError.text(“”);
返回true;
}
};
//等等。。。我希望代码可以这样工作:当输入接收到焦点时,错误应该隐藏,否则代码应该按原样运行。

谢谢..

你已经试过这样的东西了吗

function removeError() {
     $(this).removeClass('error_input');
     $("#error"+$(this).attr("id")).text("").removeClass("error");
}

first.focus(removeError);
last.blur(removeError);
username.blur(removeError);
....
试试这个
我认为您应该使用jQuery验证库来验证表单这里是jQuery验证的cdn链接

<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>

你能给我们看一下HTML吗?HTML看起来是这样的:这只是一个输入…@user1970355你还需要删除错误文本吗?如果是,错误范围是否总是包含id错误+字段名称?错误仍然存在。。。“error_input”类仅适用于输入字段,而“error”类适用于span…@user1970355更新了我的答案,这会首先更正吗?它非常有效,但如果我用id替换名称atribute。非常感谢@保罗·哈布兹哦,是的。。很抱歉我没有意识到这是id而不是名字。修复了它并更新了答案,其中包含了如何将其重新用于其他字段的信息
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
$('#form_id').validate({
    rules : {
        'el_name' : 'validation_rule'  // like, required
    },
    messages : {
        'el_name' : 'Your error message'
    }
});