查找输入元素的"类型"

Jul*_*lio 47 javascript

我希望能够使用javascript在页面上找到某种类型的东西.问题如下:我需要检查特定区域是否是复选框/单选按钮/或文本字段.

如果它是一个复选框或单选按钮,它没有长度(没有字符串),否则如果它是一个文本字段我需要检查它是否包含字符.页面是动态创建的,因此有时可能会在文本字段中显示复选框.

所以我的想法是找到输入的类型,然后确定要做什么.

任何建议,将不胜感激.

提前致谢.

tro*_*skn 75

检查type酒店.这样就够了吗?

  • 像element.type一样使用它,它会返回textarea,元素是textarea等等. (6认同)
  • 更准确地说,是“HTMLInput​Element.type”。 (3认同)
  • 如果元素是输入,则.type将返回text,checkbox,radio等。 (2认同)

PPS*_*ein 29

如果要检查表单中的输入类型,请使用以下代码:

<script>
    function getFind(obj) {
    for (i = 0; i < obj.childNodes.length; i++) {
        if (obj.childNodes[i].tagName == "INPUT") {
            if (obj.childNodes[i].type == "text") {
                alert("this is Text Box.")
            }
            if (obj.childNodes[i].type == "checkbox") {
                alert("this is CheckBox.")
            }
            if (obj.childNodes[i].type == "radio") {
                alert("this is Radio.")
            }
        }
        if (obj.childNodes[i].tagName == "SELECT") {
            alert("this is Select")
        }
    }
}
</script>     

<script>    
    getFind(document.myform);  
</script>
Run Code Online (Sandbox Code Playgroud)


kap*_*ser 5

如果您使用的是jQuery,则可以轻松检查任何元素的类型.

    function(elementID){    
    var type = $(elementId).attr('type');
    if(type == "text") //inputBox
     console.log("input text" + $(elementId).val().size());
   }
Run Code Online (Sandbox Code Playgroud)

同样,您可以检查其他类型并采取适当的措施.

  • 或者,如果您使用Javascript,您可以编写`document.getElementById(elementId).type`.我没有看到jQuery在这种情况下给出的好处. (10认同)