使用javascript检查表单元素是否可见

巴布

下面是JavaScript函数,用于检查用户是否填写了表单中存在的所有元素。

var frm_elements = envelopes.elements;
        for (i = 0; i < frm_elements.length; i++) 
        {
            field_type = frm_elements[i].type.toLowerCase(); 
            switch (field_type)     
            {     
                case "text":        
                if(frm_elements[i].value == "" || frm_elements[i].value == null)
                {
                    if(frm_elements[i].style.display == "block")
                    {
                            alert("Enter All Text Box details");
                        return false;
                        break;
                    }
                }
                case "select-one":
                case "select-multi":         
                if(frm_elements[i].selectedIndex == -1)
                {
                    if(frm_elements[i].style.display == "block")
                    {
                        alert("Select Any Field From Drop Down");
                        return false;
                        break;
                    }
                }

                default:
                break; 
            }

问题是我正在使用JavaScript方法隐藏一些字段。以下是我使用它来实现的代码。

document.getElementById('stTxtMapName1').style.display = 'none';

为了使其可见,我正在使用下面的代码。

document.getElementById('stTxtMapName1').style.display = 'none';

因此,我只需要检查对用户可见的字段。因此,我正在使用此条件来检查它是否可见。

if(frm_elements[i].style.display == "block")
                        {
                                alert("Enter All Text Box details");
                            return false;
                            break;
                        }

上面的代码不起作用。请提供其他替代方式进行检查。

凯姆·塞西尔(Cam Cecil)

您可以使用jQuery使用的相同实现,并检查offsetHeight和offsetWidth,例如:

function isVisible(element) {
    return element.offsetWidth > 0 || element.offsetHeight > 0;
}

if(isVisible(frm_elements[i])) {
    // perform actions
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章