Добавить 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, время: 21:39. |