2010-08-18 3 views
36

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

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

Таким образом, мое мышление находит тип ввода, а затем определяет, что делать.

Любые предложения будут оценены.

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

+1

Неважно, но более тщательное различие было бы здесь: «Тип элемента ввода» значительно отличается от «Тип переменной» или «Тип какого-либо другого элемента на странице». –

ответ

52

Проверьте недвижимость . Этого хватит?

+5

использовать его как element.type, он будет возвращать textarea, это элемент textarea и так далее. –

19

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

<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> 
+1

Вам больше не нужно использовать эти комментарии: http://dorward.me.uk/www/comments-cdata/ –

3

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

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

Аналогичным образом вы можете проверить другие типы и предпринять соответствующие действия.

+9

Или, если вы используете Javascript, вы можете написать 'document.getElementById (elementId) .type'. Я не вижу преимуществ, которые дает jQuery в этом случае. – troelskn

+0

Это функция (означает служебные данные), в стиле не-jQuery (например, не '.getType()', не имеет имени функции и не делает ничего больше, чем '$ (element) [0] .type' (при условии у вас уже был объект jQuery) – Martijn

Смежные вопросы