Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Головная боль с полем Телефон
 
 автор: antf   (16.06.2014 в 12:28)   письмо автору
 
 

Здравствуйте.
Поле телефон заказчик, большой любитель ipad :(, просить разделить на 3 поля ввода. Например в случае с +7 (4852) 12-12-12, цифра 7 вводится в первом поле 4852 во втором, 12-12-12 в третьем. Возникает вопрос как лучше хранить такой телефон в базе данных? Тоже сделать 3 столбца? Или 1?

Еще один вопрос - а как назвать эти поля?

А есть решения на jquery, чтобы 1 полем было, но вводилось по определенному формату? Я думаю, это нас может устроить.

  Ответить  
 
 автор: confirm   (16.06.2014 в 12:54)   письмо автору
 
   для: antf   (16.06.2014 в 12:28)
 

Проще хранить номера, а не дефисы, провели и прочее.

  Ответить  
 
 автор: Commander   (16.06.2014 в 13:40)   письмо автору
 
   для: antf   (16.06.2014 в 12:28)
 

Проще всего хранить либо как TINYTEXT (VARCHAR(10)) либо как LONGINT (INT, по-моему, не пройдет). А для ввода действительно, лучше воспользоваться JS (jQ), здесь можно глянуть в сторону библиотеки masked Input (http://digitalbush.com/projects/masked-input-plugin/)

  Ответить  
 
 автор: confirm   (16.06.2014 в 14:03)   письмо автору
 
   для: Commander   (16.06.2014 в 13:40)
 

И зачем текст? Номер для кого, для хозяина сайта, или для тех кого обязали его ввести? Если для хозяина, то так ли важны ему пробели и дефисы? А искать в базе быстрее число.
На стороне клиента достаточно регулярного выражения, коим обеспечен и JS, jQuery совсем не обязателен.

  Ответить  
 
 автор: antf   (16.06.2014 в 14:15)   письмо автору
 
   для: confirm   (16.06.2014 в 14:03)
 

>Если для хозяина, то так ли важны ему пробели и дефисы?

Заказчик такой попался, ему важны пробелы и дефисы. Чтобы было как на айпаде...

>А искать в базе быстрее число.

Искать ничего не надо.

>jQuery совсем не обязателен.

Библиотека, рекомендованная Commander'ом очень понравилась, надеюсь удастся ее модифицировать под свой шаблон. Решает все мои проблемы малой кровью.

  Ответить  
 
 автор: confirm   (16.06.2014 в 14:22)   письмо автору
 
   для: antf   (16.06.2014 в 14:15)
 

IPad, уж извините, не дурак, и понимает поле phone, и прекрасно работает с атрибутом pattern, вот и все jQuery.

  Ответить  
 
 автор: moonfox   (16.06.2014 в 14:32)   письмо автору
 
   для: confirm   (16.06.2014 в 14:22)
 

до html5 не все дошли....
блин а там стока новшеств(

  Ответить  
 
 автор: antf   (16.06.2014 в 14:38)   письмо автору
 
   для: moonfox   (16.06.2014 в 14:32)
 

не все браузеры поддерживают эти атрибуты

  Ответить  
 
 автор: confirm   (16.06.2014 в 14:39)   письмо автору
 
   для: antf   (16.06.2014 в 14:38)
 

Это еще не повод привинчивать по каждому пустяку плагины.

  Ответить  
 
 автор: confirm   (16.06.2014 в 14:38)   письмо автору
 
   для: moonfox   (16.06.2014 в 14:32)
 

Речь идет об iPad, за него можете не волноваться, он добежал.
А шаблоны ввода для телефона, это всего лишь одно рег. выражение, которое поймут все..

  Ответить  
 
 автор: moonfox   (16.06.2014 в 14:49)   письмо автору
 
   для: confirm   (16.06.2014 в 14:38)
 

не все дошли это я про людей
вот я например не дошел
мобильные браузеры норм работают с html5 я в курсе
вот скажем спецом под мобильники благодаря html5 виртуальные туры делаю (webgl)
ведь флеш не поддерживается...

а вот верстать - не верстаю.
как то руки не доходят.

  Ответить  
 
 автор: confirm   (16.06.2014 в 15:10)   письмо автору
 
   для: moonfox   (16.06.2014 в 14:49)
 

Браузер может на работать с атрибутом, но это не означает, что значение этого атрибут нельзя получить в браузере. Другими словами, это как минимум хранилище значения.
И всегда надо помнить, что все на клиенте, это сервис, и для сервера туфта, и он будет все равно проверять. Как? Рег. выражением. Так разве не достаточно этого же и клиенту?

  Ответить  
 
 автор: moonfox   (16.06.2014 в 15:22)   письмо автору
 
   для: confirm   (16.06.2014 в 15:10)
 

я подумал есть тег особый который особо обрабатывается браузером
а то что с него взяли значение и регуляркой так это ясно
наверно)))

  Ответить  
 
 автор: confirm   (16.06.2014 в 15:31)   письмо автору
 
   для: moonfox   (16.06.2014 в 15:22)
 

Что значит особо и почему тег, речь идет об атрибуте? Все теги, это объект в браузере, и каждый особенный, с точки зрения его предназначения. И каждый атрибут особенный, и тоже с точки зрения его назначения.

Новые поля формы HTML5 старые браузеры будут понимать как тип text, кроме таких как например, range и т.п., которые они просто проигнорируют. Атрибут, который браузер не поддерживает, он тоже проигнорирует, не будет обрабатывать, например атрибуты min, max только последний FF начал обрабатывать, ибо с последней версии он начал поддерживать поле типа number.

Но получить значение атрибута можно всегда, у любого:

<div myattr="12" onclick="alert(this.myattr)">TTTTTTTT</div>

  Ответить  
 
 автор: moonfox   (16.06.2014 в 16:30)   письмо автору
 
   для: confirm   (16.06.2014 в 15:31)
 

я понял
говорю думал тама вообще ввели что-то удобное и простое
типа <phone pattern="">87867897897</phone>
))))

  Ответить  
 
 автор: confirm   (16.06.2014 в 16:52)   письмо автору
 
   для: moonfox   (16.06.2014 в 16:30)
 

Тега phone нет, перечитал свое, действительно я в заблуждение ввел. Из специфичных есть input типа: mail, url, tel.

  Ответить  
 
 автор: antf   (16.06.2014 в 16:11)   письмо автору
 
   для: confirm   (16.06.2014 в 14:22)
 

Проблема не в отображении этих атрибутов на ipad, проблема в том, что заказчик увидел в каком-то приложении на ipad как форматируется телефон, и давай этот способ на сайте насаждать!

  Ответить  
 
 автор: confirm   (16.06.2014 в 16:20)   письмо автору
 
   для: antf   (16.06.2014 в 16:11)
 

Ну тем более, если он обязывает всех вводить в единственном формате, разве нужен для этого целый плагин, вместо единственного шаблона для проверки?

  Ответить  
 
 автор: antf   (26.06.2014 в 12:08)   письмо автору
 
   для: Commander   (16.06.2014 в 13:40)
 

>можно глянуть в сторону библиотеки masked Input (http://digitalbush.com/projects/masked-input-plugin/)

Воспользовался плагином, спасибо. Вот русская инструкция http://jumanji.name/masked-input-plugin/.

  Ответить  
 
 автор: Commander   (26.06.2014 в 17:52)   письмо автору
 
   для: antf   (26.06.2014 в 12:08)
 

Насколько я знаю, у него единственная проблема - отсутствует подсказка браузера при вводе: http://prntscr.com/3wonrd

  Ответить  
 
 автор: antf   (26.06.2014 в 17:54)   письмо автору
 
   для: Commander   (26.06.2014 в 17:52)
 

Это хорошо! Я заколебался эти подсказки отключать.

  Ответить  
 
 автор: Commander   (26.06.2014 в 17:59)   письмо автору
 
   для: antf   (26.06.2014 в 17:54)
 

У себя на сайте это можно отключить:

<input autocomplete="off"...

Не знаю, во всех ли браузерах работает, но в хроме и огнелисе все норм.

P.S. Мне лично эти подсказки нравятся. Два клика - и email введен.

  Ответить  
 
 автор: antf   (26.06.2014 в 18:06)   письмо автору
 
   для: Commander   (26.06.2014 в 17:59)
 

Я знаю как отключить, мне эти подсказки мешают.

  Ответить  
 
 автор: Commander   (26.06.2014 в 22:08)   письмо автору
 
   для: antf   (26.06.2014 в 18:06)
 

В ИЕ есть настройка, думаю, в других браузерах тоже должна быть.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования