Как получить тип текстовой области

#javascript

#javascript

Вопрос:

Как часть более крупного скрипта у меня есть этот фрагмент кода:

 if (form.elements[i].type === 'text') {
// do stuff
}
  

Он отлично работает с типом ввода = текст, но совсем не с текстовой областью. Пытались изменить сценарий, чтобы он выглядел следующим образом:

 if (form.elements[i].type === 'text' amp;amp; form.elements[i].type === 'textarea') {
// do stuff
}
  

По-прежнему ничего в текстовой области… Любые идеи, пожалуйста?

Комментарии:

1. <textarea> не является типом <input>

Ответ №1:

Это потому <textarea> , что у s нет type свойства. Вам нужно проверить имя элемента. form.elements[i].tagName === 'TEXTAREA' . ( tagName всегда возвращает все в шапках.)

РЕДАКТИРОВАТЬ: вам также необходимо использовать оператор || (или) вместо amp;amp; (и). Элемент не может быть обоими одновременно!

Комментарии:

1. Более того, если type === 'text' как это может быть === 'textarea' одновременно?

Ответ №2:

Это потому, что вы проверяете, что тип должен быть как text и textarea . Вероятно, вы хотите использовать оператор or -следующим образом:

 if (form.elements[i].type === 'text' || form.elements[i].type === 'textarea') {
    // do stuff
}