检查页面是否有任何可见的输入表格

时间:2011-04-06 10:15:12

标签: javascript jquery html dom

如何检查DOM是否有任何可见的输入表单,例如输入字段,选择字段,多字段字段等至少有一个,我需要运行一定的代码。如果所有都被隐藏,则至少显示1,我将不显示运行代码。

if(ThereIsVisibleInputFields) {
    IWillRunThisCode();   
}

编辑:

如何使用它。

if($(":input:visible").length) {
    IWillRunThisCode();
}

:input选择器是否会选择所有表单元素?

2 个答案:

答案 0 :(得分:2)

:可见选择器是您最需要的选择。你可以这样使用它 -

if ($('input:visible, textarea:visible, select:visible').length > 0) {
    IWillRunThisCode();
}

您可以查看jQuery api页面以获取更多信息 - :visible Selector

编辑: 正如OP所指出的那样:输入选择器同样有效。更好的是,它还选择了按钮,我的原始代码没有。所以选择器应该是

if ($(':input:visible').length) {
    IWillRunThisCode();
}

答案 1 :(得分:0)

function ThereIsVisibleInputFields(){
   var arr = new Array();
   arr = document.getElementsByTagName( "input" );
   for(var i=0; i < arr.length; i++)
            {
                var tagName = document.getElementsByTagName( "*" ).item(i).nodeName;
                var tagObj = document.getElementsByTagName( "*" ).item(i);
                if(tagObj.style.visibility=="visible"||tagObj.style.display!="none")             
                     return true;
            }
   return false;
}

同样我们也可以检查其他标签(select,textarea等)