Позвольте мне сначала сказать, что мы проверяем каждое поле на стороне сервера, так что это вопрос о удобстве использования на стороне клиента.Какое событие запускает проверку и форматирование поля формы JavaScript?
Что такое обычная мудрость на именно тогда, когда для проверки и форматирования полей ввода формы HTML с использованием javascript?
В качестве примера у нас есть поле номера телефона. Мы допускаем числа, пробелы, круглые скобки и дефисы. Мы хотим, чтобы в поле было десять цифр. Кроме того, мы хотим, чтобы поле выглядело как (123) 456-7890, даже если пользователь не вводит его таким образом.
Похоже, что мы можем
- Validate и отформатировать его, когда пользователь покидает поле.
- Подтвердить и форматировать на каждый введенный символ.
- Перехватывайте нажатия клавиш и не допускайте ввода пользователем неправильных символов.
- Некоторые комбинации из выше (например формата на входе и проверки на выходе, предотвратить на входе и выходе формата на и т.д.)
- [Добавлено] Подождите, и делать все проверки и форматирования, когда пользователь нажимает Отправить.
Я видел, как это сделали все из этих способов, но я не могу найти информацию о том, что лучше (или даже общепринятое) с точки зрения удобства и простоты использования, и что более важно, почему.
[Edit: Некоторые разъяснения]
Мы абсолютно не соблюдение каких-либо стандартов формата. Когда я говорю о формате, я имею в виду, что мы будем использовать javascript для перезаписи вещей, чтобы они выглядели красиво. Если пользователь наберет 1234567890, мы заменим его на (123) 456-7890. Не существует «правил форматирования», которые могут выйти из строя.
Я это отличаю от проверки, потому что, если они не набирают достаточное количество чисел, мы должны их исправить.
Я предполагаю, что я должен перефразировать вопрос «что общепринятая на точно, когда для проверки и когда именно форматировать? ...
Хорошая информация в ответы до сих пор!
EDIT: Я принимаю свой ответ ниже в надежде, что другие найдут ссылку так же полезной, как и я.
http://www.alistapart.com/articles/inline-validation-in-web-forms/ – montrealist 2009-09-18 15:27:54
dalbaeb, это отличная ссылка должна идти в ответ вместо комментария. – bmb 2009-09-18 21:46:56