Как обратиться к input type=text если его атрибут name формируется автоматически?
Здравствуйте, уважаемые знатоки.
Программирую я на JavaScript не так часто, да и вообще не часто. Есть такая задачка. CMS OpenCart (Интернет-магазин) динамически генерирует следующий HTML-код для опредённого товара (кусок): <div id="option-574" class="option"> <span class="required">*</span> <b>Количество на третий квартал:</b><br /> <input type="text" name="option[574]" value="" /> </div> В общем, это текстовое поле - опция некоего товара. Нужно как-то JavaScript-ом зацепиться за это текстовое поле, чтобы выполнить некую проверку вводимых данных (в частности, что там введены цифры). Проблема в том, что опций у товара может быть несколько, а мне нужна проверка именно значения для этой опции. name у таких опций формируются автоматически и я не понимаю, за что можно зацепиться чтобы сделать такую проверку. Можно ли что-то придумать? |
В принципе, написал и подумал: есть возможность сделать value по умолчанию определённым, например "Введите количество!" и тогда, как я понимаю, можно будет JavaScript-ом обратиться только к тем элементам, у которых value равно этому, верно? Или есть ещё какие-то варианты?
|
назначить input какой-нибудь класс если всем подобным инпутам нужна проверка а потом обращаться к ним при помощи getElementsByClassName
|
Цитата:
|
Цитата:
|
Код шаблона, который это формирует автоматически вот такой:
<?php if ($option['type'] == 'text') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" /> </div> <br /> <?php } ?> |
Таки изменил шаблон на
<input type="text" class='kvartal' name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" /> Теперь, похоже, можно обратиться. Единственный минус у такого решения - если появятся какие-то другие опции, которые будут текстовыми - к ним это тоже будет применяться. Но вроде сейчас не планируется такого. В крайнем случае - будет textarea:) |
Часовой пояс GMT +3, время: 01:14. |