2009-12-16 4 views
0

Я до сих пор помещал только маску jQuery, но я понял, что в Mozilla у них есть некоторые проблемы. Например, если я маскирую ввод с $(".someClass").mask("9?9"); и вводим только одну цифру '1', Mozilla представит значение "1_", которое не проведет проверку (это число), но пользователь определенно ввел правильное значение.Какая лучшая маска ввода?

Есть ли такая маска, как $(".someClass").mask("9?9");, которая не отображает подчеркивание для максимального количества символов (в данном случае 2), чтобы пользователь не думал, что он должен ввести 2 символа ???

Другая проблема заключается в том, что вы теряете фокус на замаскированном поле, но вы ввели только несколько требуемых символов. Когда вы возвращаете фокус на поле, он продолжается от символа las, но стирает все уже введенные.

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

Пожалуйста, если написано, если у вас есть предложения и решения.

Большое спасибо.

ответ

1

Невозможно воспроизвести вашу проблему. Проверьте demopage. Если вы вводите только один номер, значение ввода будет именно этим числом. (Какая версия jquery? Какая версия браузера?). Предоставьте небольшой образец, который воспроизводит вашу проблему.

http://jsbin.com/egeyo3

Ваша маска выглядит хорошо для меня. Если вы не хотите, чтобы пользователь думал, что ему нужно ввести 2 номера, просто замените по умолчанию заполнитель _ пробелом .

jQuery(function($) { 
    $("#test").mask("9?9", {placeholder:" "}); 
}); 
+0

Я использую новейшие jQuery и mozilla. Я просто понял, что он проходит проверку клиента (является номером), но не работает на сервере (в коде за ASP.NET) – eomeroff

+0

Не могу понять ваш комментарий. Вы утверждаете, что ASP.NET несет ответственность за вашу проблему? – jitter

+0

Ничего, я только что решил проблему с вами, чтобы воспроизвести проблему, не используйте placeholder и не оставляйте подчеркивания, тогда она сохранит 1_ в Mozilla. Спасибо. – eomeroff