Как обратиться к 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, время: 06:59. |