我的表单中包含所需的输入字段,我将其指出为组成的类名。 我有一段有用的代码。如果我专注于所需的输入,然后按提交,那么输入将变为红色,如果为空(我想要)。但它只能一次只能用于一个,如果我专注于输入。
我的代码如下:
function checkIfEmpty(){
$('#register-form input.gv-form-required').blur(function(){
if( !$(this).val()){
$(this).parent().parent().addClass("has-error");
return false;
}else{
return true;
}
});
}
我几乎可以肯定blur()
方法不适合我的情况。
请帮助一个男人到这里来。
答案 0 :(得分:2)
试试这个:您必须使用.each()
检查表单中的每个输入,并将removeClass
置于else
条件中。
function checkIfEmpty(){
var empty = false;
$('#register-form input.gv-form-required').each(function(){
if($(this).val().trim()==""){
empty = true;
$(this).parent().parent().addClass("has-error");
}else{
$(this).parent().parent().removeClass("has-error");
}
});
return empty;
}
答案 1 :(得分:1)
在你的情况下,blur
事件似乎并不合适。我要做的是,我会遍历每个字段并检查它是否已填满。如果是,则删除(如果有)has-error
类。如果没有填写,请给它has-error
类
function checkIfEmpty(){
$('#register-form input.gv-form-required').each(function(){
if($(this).val() === ""){
$(this).parent().parent().addClass("has-error");
}else{
$(this).parent().parent().removeClass("has-error");
}
});
}
答案 2 :(得分:0)
将您的代码更改为以下内容:
function checkIfEmpty(){
$('#register-form input.gv-form-required').each(function(){
if( !$(this).is(':empty')){
$(this).parent().parent().addClass("has-error");
}else{
$(this).parent().parent().removeClass("has-error");
}
});
}
答案 3 :(得分:0)
试 在其他情况下
$(this).parent().parent().removeClass("has-error");
if( !$(this).val()){
$(this).parent().parent().addClass("has-error");
}else{
$(this).parent().parent().removeClass("has-error");
}