Здравствуйте!
Столкнулся с проблемой блокировки недопустимых символов в поле ввода (например, букв, там, где должны быть только цифры). И, хотя, казалось бы, проблема тривиальная и часто возникает, почему-то не могу найти нормального решения.
В основном нашел вот такие:
Но у этого решения есть один существенный недостаток: если ввести строку, а потом попытаться отредактировать ее середину, то ничего не выйдет - при нажатии клавиши, курсор смещается в конец строки, и именно там и вводит символ.
Некоторые товарищи предлагают использовать keycode и event.stopPropagation. Но тут возникает вопрос: как различить, к примеру ":" и "Ж" клавиши-то одни, раскладка разная!
Ну, еще есть куча решений со всплывающими подсказками "вы ввели неправильный символ", но они в данном случае не подходят..
Вопрос: может, кто знает нормальное решение этой задачи?
З.Ы. Я точно видел на некоторых сайтах такие поля, куда недопустимые символы просто не вводятся (а не исчезают, появившись на секунду, как в случае приведенного выше решения). Но поди их теперь разыщи эти сайты..
|