Показать сообщение отдельно
  #1 (permalink)  
Старый 13.09.2010, 22:29
Интересующийся
Отправить личное сообщение для Flirer Посмотреть профиль Найти все сообщения от Flirer
 
Регистрация: 19.12.2009
Сообщений: 11

передача данных из форм с помощью ajax
Здравствуйте. Такая проблема, в скрипте обработчик нажатия клавиш. Обработчик посылает запрос в бд, существует ли строка в поле в таблице бд, и в зависимости от ответа окрашивает поле. Собственно проблема в том что когда вводишь строку, чтобы строка в итоге нашлась нужно дополнительно куда нибудь нажать, тогда предыдущий вариант отсылается серверу, и если набрать "никк" - то отсылается "ник". Не могу понять как с этим бороться - вот код:

<p>Name:</p><input type="text" name="nickname" onkeyup="checkUserName(getName());">

function checkUserName(user) {
	if (window.XMLHttpRequest)
	{
		xmlr=new XMLHttpRequest();
	}
	else
	{
		xmlr=new ActiveXObject("Microsoft.XMLHTTP");
	}
		xmlr.onreadystatechange=function()
	{
		if (xmlr.readyState==4 && xmlr.status==200)
		{
			
			
			dbUserName=xmlr.responseText;
		}
	}
	xmlr.open("GET","\\tools\\userslogin\\checkuser.php?user="+user,true);
	xmlr.send(); 

	if (dbUserName==1) {
		document.formReg.nickname.style.background = '#faa';
	}
	else {
		document.formReg.nickname.style.background = '#afa';
	}
} 


function getName() {
	return document.formReg.nickname.value;
}


функцию getName прикрутил, думал поможет, getName показывает правильный результат, то есть выдаёт точь в точь то что ввожу в поле. а страничка всё равно реагирует с опозданием в одну клавишу.

Последний раз редактировалось Flirer, 14.09.2010 в 09:37.
Ответить с цитированием