Jquery ограничить поля DOB числами - PullRequest
0 голосов
/ 07 июня 2011

Есть ли плагин для полей DOB, который ограничивает каждое поле только цифрами и ниже определенной цифры. например у меня там есть поля ДД / ММ / ГГГГ

Мне нужно, чтобы первое поле принимало только числа до 31 (№ 32, № 62 и т. Д.), Второе поле для приема номеров не больше 12 и последнее для любых номеров.

Спасибо за любую помощь.

Очень ценится.

Ответы [ 2 ]

0 голосов
/ 07 июня 2011

Нет 100% беспроблемного решения того, что вы хотите сделать.Проблема в том, что текстовые поля предназначены для ввода любого текста.Когда вы пытаетесь переопределить поведение, вы можете переопределить его только частично и по-разному в разных браузерах.

Здесь много сложных проблем.Во-первых, что если кто-то поставит недопустимую дату, например 29 февраля, на не високосный год.

Кроме того, где вы связываете свои правила валидации?Если вы сделаете это в keyup, персонаж войдет в игру, затем вы подтвердите и удалите его.Если вы делаете это при нажатии клавиш, вы должны попытаться предотвратить поведение по умолчанию, а затем заменить его своей собственной логикой.Что вы делаете, если кто-то вставит правой кнопкой мыши неверный номер?

Лично я бы использовал стиль html-5 <input type="date" />, который позволяет людям с современными браузерами воспользоваться преимуществами лучшей проверки ввода, безвызывая потенциальные проблемы с необычными браузерами / обстоятельствами.

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

0 голосов
/ 07 июня 2011

Вероятно, полезно знать, что это называется «проверка».

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

И этот называет себя "лучшей" проверкой даты, потому что он не только проверяет1-12, 1-31 и т. Д., Но также проверяет, является ли эта дата действительной (не 29 февраля в неправильный год).

...