Возможность ввода только цифр и запятой
Мне нужно, чтобы пользователь имел возможность вводить только цифры и запятую (для отделения дробной части числа).
Делаю так //Происходит автоматическая вставка вот таких полей .... <input type=\"text\" id=\"r'+q+p+'\" size=\"15\" onkeyup=\"return proverka(this);\"> ... //Функция function proverka(input) { var value = input.value; var rep = /[a-zA-Zа-яА-Я]/; if (rep.test(value)) { value = value.replace(rep, ''); input.value = value; }; }; Срабатывает только со второго раза. Почему? Как можно это исправить? |
<input type="text" size="15" onkeyup="return proverka(this);" onchange="return proverka(this);" /> <script type="text/javascript"> function proverka(input) { input.value = input.value.replace(/[^\d,]/g, ''); }; </script> |
У меня через onChange вызывается функция отправки на почту:
<input type=\"text\" id=\"r'+q+p+'\" size=\"15\" onkeyup=\"return proverka(this);\" onChange=\"msg(this.form)\"> А если делаю Вашим способом (но убираю onChange), то проблема не решается (так же в первом поле буквы вводятся в последующих нет (как и надо)), но на почту не отправляется. |
Цитата:
А ограничение количества вводимых чисел можете добавить? Например чтобы вводилось не менее 6 знаков но не более 12. |
Цитата:
|
Цитата:
|
Варианты кода есть тут
http://javascript.ru/String |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
<input id = "#guilty" /> <button id = "#check" >check</button> <script type = "text/javascript"> document.getElementById("#check").onclick = function () { alert(/^\s*[\d]+(?:,[\d]+)?\s*$/.test(document.getElementById("#guilty").value) ); } </script> |
Цитата:
onkeypress="if((event.keyCode < 44) || (event.keyCode > 44)) event.returnValue=false"> |
Часовой пояс GMT +3, время: 21:46. |