Я хотел бы быть в состоянии найти тип чего-то на странице с помощью JavaScript. Проблема заключается в следующем: мне нужно проверить, является ли определенная область флажком / переключателем / или текстовым полем.

Если это флажок или переключатель, он не имеет длины (без строк в нем), в противном случае, если это текстовое поле, мне нужно проверить, содержит ли оно символы. Страница создается динамически, поэтому иногда флажок может отображаться в текстовом поле.

Поэтому я думаю, найти тип ввода, а затем определить, что делать.

Мы ценим любые предложения.

Заранее спасибо.

55
Julio 18 Авг 2010 в 13:55

3 ответа

Лучший ответ

Проверьте свойство type. Будет ли этого достаточно?

79
troelskn 18 Авг 2010 в 09:57

Если вы используете jQuery, вы можете легко проверить тип любого элемента.

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

Точно так же вы можете проверить другие типы и принять соответствующие меры.

5
Subodh Ghulaxe 4 Ноя 2015 в 10:20

Если вы хотите проверить тип ввода в форме, используйте следующий код:

<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>
30
Máté Solymosi 2 Фев 2018 в 00:06