#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
}