17 января 2008 ~ 7223 Комментария

Супер-юзабильные формы

super_form

Как-то на хабре разгорелся спор, как заставить пользователя вводить дату в правильном формате, было множество интересных решений, но заставлять пользователя совершенно не надо — пусть за пользователя основную работу делают машины :-).

На помощь приходит замечательный скрипт «Masked Input Plugin», который позволяет назначить для каждой формы маску, по которой данные будут заполнятся.

Возможно Вы не совсем поняли, но лучше один раз увидеть, чем сто раз услышать.

Живой пример


Дата

Формат: 99/99/9999

Телефон

Формат: (999) 999-9999

Tax ID

The Others dvd

Формат: 99-9999999

SSN

Формат: 999-99-9999

Ужасно просто и ужасно гениально.

Реализация форм с маской

Как вы уже поняли, для начала нам понадобится скрипт «Masked Input Plugin» написанный на jQuery, его размер поистине радует 2.8 килобайта.

Такой маленький, а столько пользы!

И так, пример использования скрипта:

<script type="text/javascript">
jQuery(function($){    $("#date").mask("99/99/9999");    $("#phone").mask("(999) 999-9999");    $("#tin").mask("99-9999999");    $("#ssn").mask("999-99-9999");
});
</script>

Этот скрипт будет добавлять узнанную маску для форм с id: date, phone, tin, ssn.

Теперь о масках символов:

  • a - Все алфавитные значения (A-Z,a-z)
  • 9 - Все цифровые значения (0-9)
  • * - Любые алфавитно-цифровые значения (A-Z,a-z,0-9)

 

Теперь более расширенный функции:

jQuery(function($){
   $("#product").mask("99/99/9999",{placeholder:" "});
});

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

 


jQuery(function($){
   $("#product").mask("99/99/9999",{completed:function(){alert("Вы ввели: "+this.val());}});
});

Этот позволяет исполнять любую функцию по заверению ввода в форму.

 

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

 

Mad Max trailer

Посетить страницу «Masked Input Plugin»

7223 Комментария для “Супер-юзабильные формы”

  1. Somebody32 17 августа 2008 at 15:08 Permalink

    Был бы такой на прототайпе, то у меня был бы приступ эйфории =)
    Спасибо, за материал!

  2. Astartsky 17 августа 2008 at 15:16 Permalink

    Идея очень интересная, но есть ньюанс: эти маски не помешают выбрать 87-ое число 55-ого месяца =)

  3. Я собственной персоной 17 августа 2008 at 15:32 Permalink

    Идея очень интересная, но есть ньюанс: эти маски не помешают выбрать 87-ое число 55-ого месяца =)

    Ну этот скрипт для создания правильного формата заполнения, а не для валидации.

  4. Andrey 17 августа 2008 at 16:06 Permalink

    Сижу я значит, делаю форму для своего сайтика… устал… решил отвлечься, отдохнуть посмотрев что нибудь интересное, и вдруг на тебе….наткнулся на эту замечательную запись :)
    Спасибо, что открыл для меня этот плагинчик! :)

  5. O 17 августа 2008 at 17:20 Permalink

    А почему табом нельзя переключиться на соседнее поле?

  6. Я собственной персоной 17 августа 2008 at 17:39 Permalink

    А почему табом нельзя переключиться на соседнее поле?

    Теперь все нормально ;-)

  7. Сергей 18 августа 2008 at 2:07 Permalink

    А если в первой форме ввести (там где 99/99/9999) 15/5/1515 то при снятии фокуса с формы,текст пропадает, и мне заново надо вводить форму, но ведь я ввёл вроде бы правильно, не зставишь же пользователя писать 05, место 5?

  8. Сергей 18 августа 2008 at 2:08 Permalink

    А если в первой форме ввести (там где 99/99/9999) 15/5/1515 то при снятии фокуса с формы,текст пропадает, и мне заново надо вводить форму, но ведь я ввёл вроде бы правильно, не зставишь же пользователя писать 05, место 5?

    зы: это премодерация или просто коментарии не отправляются?

  9. Связист 18 августа 2008 at 19:50 Permalink

    Попробую на прототайп переписать. Не шустр, так что результат будет не раньше чем через 2 недели.

  10. ZoNT 20 августа 2008 at 19:55 Permalink

    1) при вставке через ctrl+v в Опереи и в Сафари вставка не корректоируется.
    2) при выделении части введённого текста и перетаскивании его мышкой в другое место в инпуте в Опере контент дублируется, в ИЕ7 он перемещается, но не дублируется…

  11. ZoNT 20 августа 2008 at 19:57 Permalink

    В Опере при удаленнии бэкспейсом всавляется пустой символ.
    Если нажимать backspce+end много раз получается прикольно :)

    Баг на баге и багом погоняет :)

  12. ZoNT 20 августа 2008 at 19:58 Permalink

    Ужасно просто и ужасно гениально.

    Ужасно…

  13. Я собственной персоной 20 августа 2008 at 20:23 Permalink

    Ужасно просто и ужасно гениально.

    Ужасно…

    Скрипт нужно дорабатывать. Вас никто не заставляет использовать его как есть.

  14. ZoNT 21 августа 2008 at 22:06 Permalink

    Ужасно просто и ужасно гениально

    Такое нельзя писать про скрипт, который бажит и его надо дорабатывать…

  15. Kapishin 26 августа 2008 at 1:11 Permalink

    Интересно, но не более.

    В моих проектах в формы можно вводить, дату например, как угодно (хоть пятое июля, хоть 5 июля, и т.п.); обработка этого производится на сервере, где, по моему скромному мнению, и должна происходить.

    То есть, пользователь должен быть волен ввести дату так, как ему нравится.

  16. Kolia 30 августа 2008 at 21:41 Permalink

    Просветите: нужно ли какие то действия предвортельные для спользования скриптов написанных на jQuery? Нужно ли что-то устанавливать до?

  17. Я собственной персоной 31 августа 2008 at 2:57 Permalink

    Просветите: нужно ли какие то действия предвортельные для спользования скриптов написанных на jQuery? Нужно ли что-то устанавливать до?

    Ничего не надо устанавливать.
    Подключил библиотеку jQuery, подключил необходимый плагин, наслаждаешься (-:

  18. Kolia 31 августа 2008 at 3:01 Permalink

    Вот эта фраза собственно интересует «Подключил библиотеку jQuery» – как это сделать?

    … кто не спрашивает, тот не учиться)

  19. Я собственной персоной 31 августа 2008 at 17:10 Permalink

    Вот эта фраза собственно интересует «Подключил библиотеку jQuery» – как это сделать?

    … кто не спрашивает, тот не учиться)

    Попробуйте начать с прочтения перевода очень хорошей статьи для начинающих.

  20. Zakopay 12 февраля 2009 at 5:58 Permalink

    Усовершенствованной версии не ожидается?

  21. salamander 4 июня 2009 at 20:25 Permalink

    $(‘#phone’).mask(’8-099-999-99-99′);

    Эта маска бажит в IE при переходе на следующее поле.

  22. Владислав 25 июля 2009 at 2:32 Permalink

    meioMask – http://www.meiocodigo.com/ – более продвинутый, но тоже не без недостатков.

    Мне бы хотелось, чтобы можно было добавлять 2 телефона, добавить добавочный номер, два варианта мобильного, ведь он может быть с федеральным номером, а может быть с городским.

    В общем есть куда копать, а так Masked Input Plugin действительно штука хорошая, хотя и не продуман вариант с денежными величинами

  23. webs 8 октября 2009 at 3:28 Permalink

    красивая и весьма не практичная штука

  24. Ivon 22 октября 2009 at 4:28 Permalink

    хорошо, спасибо за данный скрипт

  25. Sowenok 4 мая 2010 at 15:25 Permalink

    Подскажите, а если нужно чтобы маску сразу было видно а не при нажатии, что сделать?

  26. Dima 23 марта 2011 at 2:14 Permalink

    Супер очень доволен спасибо ;)

  27. vic 29 марта 2011 at 0:48 Permalink

    А как получить доступ к переменной формы?
    $a = $_POST['number'];
    echo $a;
    ничего не выводит

  28. Ольга 23 июня 2011 at 20:50 Permalink

    как сделать так, чтобы после окончания ввода, если набрано поле не полностью, значение не удалялось?

  29. Akenavt 7 июля 2011 at 3:25 Permalink

    Thancks за такую заметку. Очень интересная – продолжай в том же духе.

  30. HYIP 11 января 2012 at 0:32 Permalink

    Wow, incredible blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your site is wonderful, as well as the content!. Thanks For Your article about Супер-юзабильные формы | Ð§ÐµÑ€Ð½ÐµÐ².ру .

  31. invest liberty reserve 12 января 2012 at 19:21 Permalink

    Fantastic goods from you, man. Супер-юзабильные формы | Ð§ÐµÑ€Ð½ÐµÐ².ру I have understand your stuff previous to and you are just too great. I actually like what you have acquired here, certainly like what you are saying and the way in which you say it. You make it enjoyable and you still take care of to keep it sensible. I cant wait to read far more from you. This is really a great Супер-юзабильные формы | Ð§ÐµÑ€Ð½ÐµÐ².ру informations.

  32. Celulite Tratamento 22 января 2012 at 7:12 Permalink

    Would you be inquisitive about exchanging links?

  33. doğum kontrol yöntemleri 3 февраля 2012 at 10:12 Permalink

    Good a single blog owner achievement webpage article fantastic sharings in such a blog constantly have fun

  34. Kurumsal Rehber 3 февраля 2012 at 11:54 Permalink

    Seriously required put up admin good 1 i bookmarked your world-wide-web webpage see you in up coming blog put up.

  35. güncel blog 4 февраля 2012 at 1:55 Permalink

    you will be really quantity 1 admin your blogging is remarkable i constantly examine your webpage i’m certain you will likely be the most effective

  36. dizi izle 4 февраля 2012 at 3:06 Permalink

    oh my god amazing post admin will check your weblog always

  37. ankara ingilizce kursu 4 февраля 2012 at 7:47 Permalink

    Hello admin great put up significantly thanks loved this website definitely a lot

  38. lüks araç kiralama 4 февраля 2012 at 8:36 Permalink

    that you are really variety one admin your running a blog is remarkable i often examine your weblog i am positive you will likely be the most effective

  39. yarış oyunu 4 февраля 2012 at 13:52 Permalink

    I was browsing for this good sharing admin considerably thanks and also have good running a blog bye

  40. sohbet 4 февраля 2012 at 16:19 Permalink

    I used to be seeking this web site final three nights fantastic blog manager good posts everything is wonderful

  41. liseli porno 4 февраля 2012 at 18:00 Permalink

    i bookmarked you in my browser admin thank you so much i will be looking for your up coming posts

  42. köpek eğitimi 5 февраля 2012 at 9:03 Permalink

    Hello admin good submit much thanks loved this web site actually significantly

  43. vender ouro 5 февраля 2012 at 17:23 Permalink

    Your house is valueble for me. Thanks!…

  44. sex 6 февраля 2012 at 10:45 Permalink

    I was curious about your future submit admin actually essential this blog site super incredible web site

  45. escort 6 февраля 2012 at 15:46 Permalink

    Great 1 website manager achievements blog put up fantastic sharings with this blog usually have enjoyable

  46. panax 7 февраля 2012 at 14:31 Permalink

    I was curious about your upcoming put up admin genuinely required this web site super amazing blog site

  47. kamera alarm sistemleri 8 февраля 2012 at 13:36 Permalink

    i cant get how it is possible to share like this amazing posts admin significantly thanks

  48. escort bayan istanbul 10 февраля 2012 at 3:18 Permalink

    Great a person weblog operator results blog site submit good sharings within this blog site usually have exciting

  49. yemek fotoğrafı 12 февраля 2012 at 0:20 Permalink

    Seriously essential article admin wonderful one i bookmarked your net web page see you in subsequent blog publish.

  50. çanta modelleri 12 февраля 2012 at 3:25 Permalink

    I used to be looking for this webpage very last a few nights good website operator fantastic posts everything is wonderful


Оставить комментарий