Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Добавить ID элементу input (https://javascript.ru/forum/jquery/54303-dobavit-id-ehlementu-input.html)

ksa 13.03.2015 08:13

Цитата:

Сообщение от kolhoz
А если форм на сайте 10-20?

Если ты уже нашел элемент без ИД, зачем тебе то ИД? :)

laimas 13.03.2015 09:20

А если форм на сайте 10-20? и у каждого name разное

Если много, а имена при этом разные, то это геморрой для сервера, не имена разные они должны иметь, а одно имя ключа массива, вложенным массивом которого будут данные с ключами, к примеру, id пользователей. Тогда на сервере такие данные удобно обработать и производить с ними групповые операции. Это id можно добавлять к имени id-атрибута элемента, группируя их в наборы:

Код:

<?php
$users = array(
    array('uid'=>10, 'email'=>'a@b.as', 'tel'=>'89999999999'),
    array('uid'=>20, 'email'=>'b@b.as', 'tel'=>'87999999999'),
    array('uid'=>30, 'email'=>'c@b.as', 'tel'=>'86999999999')
);

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-массива при форматировании сообщения, поэтому так

kolhoz 13.03.2015 16:32

Спасибо.. А есть какой-нибудь плагин или скрипт, который позволяет наложить маску для полей? А именно для ввода телефона в формате +7 999-99-99 ? Может предложите вариант получше и по новее)

laimas 13.03.2015 16:54

Ну то что есть такой/такие плагины это точно, а назвать их не могу, я их не использую, ибо и без них это вполне можно сделать. Более того, мое мнение в этом вопросе вам не понравится, но скажу - заставлять пользователя вводить номер телефона именно так как вам хочется смысла нет никакого. Пусть вводит как ему удобно, а ваша задача привести ввод к нужному вам формату, и это сделать не сложно уже на стороне сервера. Самое удобное хранение телефона в базе, это число, если есть необходимость производить выборку/поиск в базе по номеру телефона. Превратить же число в +7 999 ..., +7 (999) ... и т.п. для отображения на страницах не сложно.

kravtsov 10.06.2019 16:51

Цитата:

Сообщение от danik.js (Сообщение 360976)
А зачем id? Для назначения css?
Может тогда input[name=phone] ? Или что там битрикс прописал в name..

спасибо!


Часовой пояс GMT +3, время: 20:59.