Ilyan
|
19 октября 2014 20:40
|
if (chr < '0' || chr > '9') {
if (chr != '/' && chr != '-' && chr != '+' && chr != '*' && chr != '(' && chr != ')')
return false;
}
* я бы еще разрешил пробелы
|
|
|
Ilyan
|
19 октября 2014 20:55
|
* и, конечно, точку с запятой.
** и в конце, если это ни один из разрешенных символов, то превращать в запятую все, что под клавишей ',' и превращать в точку все, что под клавишей '.'.
|
|
|
mikhael.vk
|
19 октября 2014 21:23
|
И заодно протестировать, чтобы это все работало на маковой клавиатуре, а то там немного другое расположение точек, запятых и тп.
|
|
|
x35bug
|
22 октября 2014 22:44
|
Ilyan Пишет: if (chr != '/' && chr != '-' && chr != '+' && chr != '*' && chr != '(' && chr != ')') Не сразу увидел этот топик - оказывается, я не один страдаю от этого нововведения.
Да, вот в таком виде (с точкой и запятой) у меня работает все.
http://learn.javascript.ru/play/H6L6e
Хотя в любом случае тестировать надо все такие вещи - мало ли в каких браузерах какие проблемы могут быть.
|
|
|
Advard
|
22 октября 2014 23:31
|
Это решение среди прочего запретило клавиатурные комбинации для вставки, например Shift+Ins. IMHO фильтрация по сканкодам спорное решение, уж больно они разнообразны...
|
|
|
Ilyan
|
22 октября 2014 23:33
|
x35bug Пишет: http://learn.javascript.ru/play/H6L6e
А цифры '8' и '9'? :))
|
|
|
x35bug
|
22 октября 2014 23:50
|
Ilyan Пишет: А цифры '8' и '9'? :)) И правда, пока играл с этим скриптом, забыл вернуть обратно. Разумеется надо 7 заменить обратно на 9 :)
http://learn.javascript.ru/play/4LvIA
|
|
|
Admin
|
23 октября 2014 11:21
|
Спасибо, возьмём на вооружение.
Кто-нибудь бы из маководов ещё протестил.
|
|
|
Andrei
|
26 октября 2014 00:37
|
Admin Пишет: Спасибо, возьмём на вооружение. Кто-нибудь бы из маководов ещё протестил. Я пользуюсь Opera/OSX.
Если забыть переключить русскую раскладку и ввести «ю» вместо точки, то в поле суммы просто ничего не вводиться. В итоге, вместо цены 7.99 я ввожу 799. Старое поведение, когда показывался alert, работало надежнее.
В консоли код -- 231, как для б, так и для ю.
Почините, пожалуйста.
|
|
|
Andrei
|
26 октября 2014 00:40
|
Opera 12.16/Mac OS X.
В Chrome все работает хорошо. Думаю, на эту версию opera можно забить.
В Хроме в консоли коды символов -- 188 и 190 для русской раскладки.
|
|
|
Admin
|
26 октября 2014 09:56
|
Добавили 231.
Однако не понятно, как это для ю и б - один и тот же код, они что на одной кнопке?
|
|
|
Ilyan
|
26 октября 2014 10:43
|
Admin Пишет: Однако не понятно, как это для ю и б - один и тот же код, они что на одной кнопке? Мыши плакали, кололись, но продолжали грызть кактус
|
|
|
Andrei
|
27 октября 2014 06:58
|
Admin Пишет: Однако не понятно, как это для ю и б - один и тот же код, они что на одной кнопке? Проверил еще раз -- для всех русских букв определяется один и тот же код — 231. (Opera 12.16).
|
|
|
Admin
|
27 октября 2014 21:10
|
Проверьте сейчас ещё раз, выложили вариант от Ильи.
|
|
|
Andrei
|
27 октября 2014 22:09
|
Теперь работает.
|
|
|