Функция запрета ввода определенных чисел типа 0,78...
Есть калькулятор с инпутами типа number с step=0.5. Шаг (0,5) запрещает ввод стрелочками чисел типа 7,78 или 4,11175649, но не запрещает их ввод вручную. Как запретить вводить 1,2,3,4,6,7,8,9,0 в качестве первой цифры после запятой? Моё недорешение:
function zapret(){ var stroka = $(this).val(); if(stroka.substring(1,2) == '.'){ var simbolstroka = stroka.substring(2,3); if(simbolstroka < 5){var part1 = stroka.substring(0,1); var part2 = ''; var newstroka = +part1 + +part2;} else if(simbolstroka >= 6){part1 = stroka.substring(0,1); part2 = 0.5; newstroka = +part1 + +part2;} else if(simbolstroka == 5){newstroka = $(this).val()}; $(this).val(newstroka); } else if(stroka.substring(2,3) == '.'){ var simbolstroka = stroka.substring(3,4); if(simbolstroka < 5){var part1 = stroka.substring(0,2); var part2 = ''; var newstroka = +part1 + +part2;} else if(simbolstroka >= 6){part1 = stroka.substring(0,2); part2 = 0.5; newstroka = +part1 + +part2;} else if(simbolstroka == 5){newstroka = $(this).val()}; $(this).val(newstroka); }; }; $(".zapret").change(zapret); Оно работает не до конца. Запрещается вводить ненужные мне числа, но калькулятор для расчетов берет введеное ранее значение. Пример: Ввожу 4.47, функция меняет значение инпута на 4, но в расчете используется 4.47. Подключал вызов функции раньше калькуляции не помогает. Спасибо! |
ArmaTiK,
а так? $(".zapret").on({input:zapret}); |
Часовой пояс GMT +3, время: 19:34. |