Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.03.2015, 08:13
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от kolhoz
А если форм на сайте 10-20?
Если ты уже нашел элемент без ИД, зачем тебе то ИД?
Ответить с цитированием
  #12 (permalink)  
Старый 13.03.2015, 09:20
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

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

Последний раз редактировалось laimas, 13.03.2015 в 09:31.
Ответить с цитированием
  #13 (permalink)  
Старый 13.03.2015, 16:32
Аспирант
Отправить личное сообщение для kolhoz Посмотреть профиль Найти все сообщения от kolhoz
 
Регистрация: 04.03.2015
Сообщений: 92

Спасибо.. А есть какой-нибудь плагин или скрипт, который позволяет наложить маску для полей? А именно для ввода телефона в формате +7 999-99-99 ? Может предложите вариант получше и по новее)
Ответить с цитированием
  #14 (permalink)  
Старый 13.03.2015, 16:54
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Ну то что есть такой/такие плагины это точно, а назвать их не могу, я их не использую, ибо и без них это вполне можно сделать. Более того, мое мнение в этом вопросе вам не понравится, но скажу - заставлять пользователя вводить номер телефона именно так как вам хочется смысла нет никакого. Пусть вводит как ему удобно, а ваша задача привести ввод к нужному вам формату, и это сделать не сложно уже на стороне сервера. Самое удобное хранение телефона в базе, это число, если есть необходимость производить выборку/поиск в базе по номеру телефона. Превратить же число в +7 999 ..., +7 (999) ... и т.п. для отображения на страницах не сложно.
Ответить с цитированием
  #15 (permalink)  
Старый 10.06.2019, 16:51
Новичок на форуме
Отправить личное сообщение для kravtsov Посмотреть профиль Найти все сообщения от kravtsov
 
Регистрация: 10.06.2019
Сообщений: 1

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как через javascript добавить класс элементу? LeeRoy Элементы интерфейса 1 12.06.2014 23:42
Добавить значения из CheckBox в Input tohenson Общие вопросы Javascript 1 18.05.2014 19:09
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Добавление текста к input элементу Cepin Элементы интерфейса 4 05.05.2010 09:10
Добавить свой метод к элементу alekciy Events/DOM/Window 6 16.02.2009 19:29