Forum Webscript.Ru
Программирование => JavaScript & JScript => Тема начата: mann от 26 Февраля 2004, 17:23:56
-
Пытался сделать проверку на ввод данных в поле, т.е. поле числовое и при набитии очередного знака в поле функция chek_dat() должна его проверить если случайно набили букву то выдать сообщение \'Это числовое поле!\' Но что то не работает. Может кто подскажет.
Untitled Document
-
function onlyDigits(the_form,the_element)
{
var elt = document.forms[the_form].elements[the_element];
var elt_cnt = (typeof(elt.value.length) != \'undefined\')
? elt.value.length
: 0;
if (elt_cnt)
{
nnil = new String(\'0\');
ordnil = nnil.charCodeAt(0);
nnine = new String(\'9\');
ordnine = nnine.charCodeAt(0);
ndot = new String(\'.\');
orddot = ndot.charCodeAt(0);
for (var i = 0; i < elt_cnt; i++)
{
var chr = elt.value.charAt(i);
var och = elt.value.charCodeAt(i);
l = new String(elt.value);
myReg = new RegExp(chr,"gi");
if ((och < ordnil || och > ordnine) && och != orddot)
{
elt.value = l.replace(myReg,\'\');
}
}
}
}
Позволяет вдалбливать только цифры и точку
применяется так
-
а где ты такое событие взял onkey ?
Попробуй через события onkeyup, onkeydown, onkeypress.
Хотя ИМХО вполне достаточно проверять форму после того как бзер нажмет submit-кнопку (событие onsubmit)
-
Спасибо получилось