Здравствуйте. Такая проблема, в скрипте обработчик нажатия клавиш. Обработчик посылает запрос в бд, существует ли строка в поле в таблице бд, и в зависимости от ответа окрашивает поле. Собственно проблема в том что когда вводишь строку, чтобы строка в итоге нашлась нужно дополнительно куда нибудь нажать, тогда предыдущий вариант отсылается серверу, и если набрать "никк" - то отсылается "ник". Не могу понять как с этим бороться - вот код:
<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 показывает правильный результат, то есть выдаёт точь в точь то что ввожу в поле. а страничка всё равно реагирует с опозданием в одну клавишу.