Добавить ID элементу input
Как добавить ID элементу input с атрибутом placeholder="Телефон"?
|
Цитата:
|
найти в DOM элемент input с атрибутом placeholder="Телефон" и присвоить ему ID=phone
|
Ручками никак?
|
нет форма формируется из битрикса.. А там копаться в компонентах черт ногу сломит
|
А зачем id? Для назначения css?
Может тогда input[name=phone] ? Или что там битрикс прописал в name.. |
id нужен чтобы для поля input сделать маску ввода номера. Нашел скрипт где это делается через id элемента.
В общем вот что формирует битрикс это одно из полей. Точнее то поле для которого я хочу добавить id <input type="text" placeholder="Телефон" name="form_text_210" value="" size="0"> Хочу к нему добавить ID=phone. Затем выполнить следующий код из скрипта
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.maskedinput.js" type="text/javascript"></script>
<script>
jQuery(function($){
$("#phone").mask("(999) 999-9999");
});
</script>
|
kolhoz,
$('[name="form_text_210"]').mask("(999) 999-9999");
:-? |
Так это понятно.. А если форм на сайте 10-20? и у каждого name разное.. Хотелось бы универсально сделать добавив id=phone ко всем полям у которых есть атрибут placeholder="Телефон".
|
kolhoz,
что мешает заменить на
$('[placeholder="Телефон"]').mask("(999) 999-9999");
|
Цитата:
|
А если форм на сайте 10-20? и у каждого name разное
Если много, а имена при этом разные, то это геморрой для сервера, не имена разные они должны иметь, а одно имя ключа массива, вложенным массивом которого будут данные с ключами, к примеру, id пользователей. Тогда на сервере такие данные удобно обработать и производить с ними групповые операции. Это id можно добавлять к имени id-атрибута элемента, группируя их в наборы: Код:
<?php
echo '<form>' . implode(array_map(function($d) {
return '<input type="email" id="mail-' . $d['uid'] . '" value="' . $d['email'] . '" name="email[' . $d['uid'] . ']">
<input type="tel" id="phone-' . $d['uid'] . '" value="' . $d['tel'] . '" name="phone[' . $d['uid'] . ']">';
}, $users)) . '<button>GO</button></form>';
?>
<script>
$(function() {
$('[id|=phone]').mask("(999) 999-9999");
$('[id|=mail]').mask("???");
});
</script>
//Какой-то кошмар получается с описанием php-массива при форматировании сообщения, поэтому так |
Спасибо.. А есть какой-нибудь плагин или скрипт, который позволяет наложить маску для полей? А именно для ввода телефона в формате +7 999-99-99 ? Может предложите вариант получше и по новее)
|
Ну то что есть такой/такие плагины это точно, а назвать их не могу, я их не использую, ибо и без них это вполне можно сделать. Более того, мое мнение в этом вопросе вам не понравится, но скажу - заставлять пользователя вводить номер телефона именно так как вам хочется смысла нет никакого. Пусть вводит как ему удобно, а ваша задача привести ввод к нужному вам формату, и это сделать не сложно уже на стороне сервера. Самое удобное хранение телефона в базе, это число, если есть необходимость производить выборку/поиск в базе по номеру телефона. Превратить же число в +7 999 ..., +7 (999) ... и т.п. для отображения на страницах не сложно.
|
Цитата:
|
| Часовой пояс GMT +3, время: 00:00. |