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'
}
});