Тема: onKeyUp/onKeyPress
Показать сообщение отдельно
  #1 (permalink)  
Старый 23.10.2012, 19:44
Аспирант
Отправить личное сообщение для FoxTrix Посмотреть профиль Найти все сообщения от FoxTrix
 
Регистрация: 27.07.2012
Сообщений: 73

onKeyUp/onKeyPress
Здравствуйте!
Пишу проверку данных вводимых в 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);
	}
}
то вообще не даёт ничего ввести, удаляет всё(хотя проверка идёт)

подскажите, в чём проблема?
Ответить с цитированием