Javascript jquery-检查特定输入的空值,并仅向那些空的输入添加类
我有一个表单,它有必需的输入字段,我用化成的类名指出了这一点。 我有一段这样的代码。如果我专注于所需的输入,然后按submit,输入将变为红色,如果为空(我想要)。但它一次只对一个有效,如果我专注于输入的话 我的代码如下:Javascript jquery-检查特定输入的空值,并仅向那些空的输入添加类,javascript,jquery,Javascript,Jquery,我有一个表单,它有必需的输入字段,我用化成的类名指出了这一点。 我有一段这样的代码。如果我专注于所需的输入,然后按submit,输入将变为红色,如果为空(我想要)。但它一次只对一个有效,如果我专注于输入的话 我的代码如下: function checkIfEmpty(){ $('#register-form input.gv-form-required').blur(function(){ if( !$(this).val()){ $(this).
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()
方法不适合我的情况。
因此,请帮助一位男士。将您的代码更改为以下内容:
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");
}
});
}
试一试
在其他情况下
$(this).parent().parent().removeClass("has-error");
js代码
blur
事件在您的情况下确实不太合适。我要做的是,我会通过每个字段进行评分,并检查它是否已填写。如果是,则删除(如果有)有错误
类。如果未填充,则为其指定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");
}
});
}
试试这个:您必须使用
.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;
}
你能发布完整的代码吗?尝试
.filter()
而不是.blur()
无需发布“完整”代码。就像我在上面清除的那样,当你按submit时,代码会被执行。太棒了!这里我考虑的是复杂的手动foreach循环:)不幸的是,这段代码将'.has error'应用于第一个找到的空字段,而不是所有找到的空字段。很抱歉,我让这个问题变得更复杂。这个返回true解决了“应用于所有”的问题,但是当使用返回false时,每个循环停止工作,并且只将removeClass应用于一个空的错误字段。这就像return false
以某种方式逃逸。我认为我们不需要从每个循环返回任何东西,让我们删除它。但是我的代码检查checkIfEmpty==false
并通过AJAX发送post请求。
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;
}