单击时检查表单中是不是存在不显示的元素

Posted

技术标签:

【中文标题】单击时检查表单中是不是存在不显示的元素【英文标题】:On click check if there are elements in a form which are with display none单击时检查表单中是否存在不显示的元素 【发布时间】:2015-03-15 23:34:04 【问题描述】:

我有一个表单,当单击按钮时,我在其中隐藏了一些输入。我有一个验证码,它贯穿每个输入,如果输入为空,则打印一条错误消息。但是为了提交表单,我必须填写每个元素,包括不可见的元素,因为尽管我已经填写了所有可见元素,但代码正在打印消息。

这是验证代码

$('button.submit-first').click(function() 
    var emptyElements = $('form.registration-form div.first-part :input').filter( function() 
        return this.value === '';
    );

    if (emptyElements.length === 0)
    
        $('p.red').css('display', 'none');
     

    else
    
        $('p.red').css('display', 'block');
        $('html, body').animate(scrollTop: $('div.row').offset().top, 800);
    
);

我似乎无法弄清楚我应该如何处理输入,如果有不可见的,请跳过它们并检查可见的。

【问题讨论】:

这可能会有所帮助。 ***.com/a/17426800/17447 非常感谢,我发现了我的错误,然后用那篇文章找到了更好的方法。非常感谢。 :) 【参考方案1】:

您可以在输入中添加 ":visible" 以仅验证这些内容。

$('button.submit-first').click(function() 
    var emptyElements = $('form.registration-form div.first-part :input:visible').filter( function() 
    return this.value === '';
);

【讨论】:

以上是关于单击时检查表单中是不是存在不显示的元素的主要内容,如果未能解决你的问题,请参考以下文章

如果文本文件不存在并显示另一个表单,则在表单加载时隐藏表单

如何检查Mysql中是不是存在数组元素?

jQuery 仅在 DOM 中单击时查找下一个表单元素

Nightwatchjs:如何在不创建错误/失败/异常的情况下检查元素是不是存在

jquery怎么判断是不是有某个元素

检查元素在硒中是不是可点击