Здравствуйте!
Пишу проверку данных вводимых в input text.
Есть:
<input type="text" name="text" id="text" onKeyUp="control(this.value)">
и скрипт к нему
function control(str)
{
var mask = /\W/
var result = check(str);
function check(str)
{
var result = mask.exec(str);
return result;
}
if(result != null)
{
var repl = str.replace(result, '');
control(repl);
}
else
{
if(result == null)
document.getElementById('text').value = str;
}
}
с onKeyUp работает как нужно, но перед удалением символ успевает отобразиться в поле, а это выглядит не очень.
нашёл решение проблемы
здесь, но не могу его переделать под себя =(
если делаю с onKeyPress так
function control(str)
{
function value()
{
document.getElementById('text').value = str;
}
var mask = /\W/
var result = check(str);
function check(str)
{
var result = mask.exec(str);
return result;
}
if(result != null)
{
var repl = str.replace(result, '');
control(repl);
}
else
{
if(result == null)
setTimeout(value, 0);
}
}
то вообще не даёт ничего ввести, удаляет всё(хотя проверка идёт)
подскажите, в чём проблема?