Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: slider2001 от 30 Июля 2003, 14:25:39

Название: Как сделать чтобы в текстовое поле вводились только цифры?
Отправлено: slider2001 от 30 Июля 2003, 14:25:39
Как сделать чтобы в поле input text вводились только цифры?
Название: Как сделать чтобы в текстовое поле вводились только цифры?
Отправлено: Xander от 30 Июля 2003, 14:32:09
Повесить на OnChange этого поля функцию, которая будет проверять, что введено, и блокировать все, кроме цифр. Ну или можно сделать проще - при отправлении формы проверять, есть ли там что-то кроме цифр, и если есть - форму не отправлять, а выдавать сообщение о некорректном заполнении.
Название: Как сделать чтобы в текстовое поле вводились только цифры?
Отправлено: slider2001 от 30 Июля 2003, 14:53:40
Onchange не подойдет, так как она будет проверять посл е того, как введены все символы, больше подходит onkeydown, но здесь можно проверить все предыдущие сивлоы, кроме вводимого, то есть если введено 5 и вводится 3, onkewdown можно проверить только первый символ.
При onkeyup будет то что нужно, но польхователь может ввести все цифры почти одновременно, еще не отпустив прерыдущие клавиши.

Как быть?
Название: Как сделать чтобы в текстовое поле вводились только цифры?
Отправлено: Xander от 30 Июля 2003, 15:19:50
А через OnSubmit не пойдет?
Название: Как сделать чтобы в текстовое поле вводились только цифры?
Отправлено: slider2001 от 30 Июля 2003, 15:48:22
нет не пойдет, так как мне нужно проверять одновременно с вводом символов.
а submit это еще только потом.
Название: Как сделать чтобы в текстовое поле вводились только цифры?
Отправлено: flymio от 17 Августа 2003, 01:50:37
что то вроде этого:

function checkFloat(values)
{
var msg1 = "";
var i = values.value;
var v = i.substr(0, i.length-1);
var d = i.substr(i.length-1, 1);
values.value="";
msg1 = sex(d);
if (msg1 == ""){values.focus();values.value=v;return false;}
else{values.value=v+msg1}
}
function sex(val)
{
var inputStr = val;
var msg = "";
var oneChar1 = inputStr.charAt(0);
if (oneChar1 == "1" || oneChar1 == "2" || oneChar1 == "3" || oneChar1 == "4" || oneChar1 == "5" || oneChar1 == "6" || oneChar1 == "7" || oneChar1 == "8" || oneChar1 == "9" || oneChar1 == "0" || oneChar1 == "."){return oneChar1}
else{return ""}
}      

in html:


Название: Как сделать чтобы в текстовое поле вводились только цифры?
Отправлено: Alexandr от 28 Августа 2003, 11:03:45
onkeypress="pr();">
.....
function pr() {if ((event.keyCode < 48) || (event.keyCode > 57))  event.returnValue = false;}