Привет, яваскриптеры. Прошу помочь с кодом, если не трудно.
Итак, инпут из html файла, в который юзер вводит login. js функция вызывается по событию onblur:
<input type="text" name="login" id="login" style="margin-left: 28px" onblur="checkLog();"/>
Ф-я checkLog() и обработчик запроса check_response() представлены ниже. Параметр log_data, который передается в первую функцию формирую по событию window.onload. Код ниже.
function checkLog(log_data) {
if (req2) {
req2.onreadystatechange = check_response;
req2.open("POST", "scripts/check.php", true);
req2.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req2.send(log_data);
return true;
} else {return false;}
}
function check_response() {
if (req2.readyState == 4) {
if(req2.status == 200 || req2.status == 304) {
var response = document.getElementById("log");
response.innerHTML = req2.responseText;
gotovim_form();
}
else { alert("Not correct request!");
}
}
}
По событию window.onload формирую переменную log_data:
window.onload = gotovim_form;
function gotovim_form() {
req2 = getXmlHttp();
if (!document.getElementById("form1")) {
return;
}
document.getElementById("form1").onblur = function() {
var log_data = "";
log_data+= this.elements[0].name;
log_data+= "=";
log_data+= escape(this.elements[0].value);
log_data+= "&";
return !checkLog(log_data);
};
}
До сервера стучусь, кажется запрос в порядке. Текст check.php:
<?php
$login = $_POST['login'];
require_once 'config.php';
$link = @mysql_connect($config['mysql_host'].":".$config['mysql_port'], $config['mysql_login'], $config['mysql_password']) or die ($server['errorText']);
@mysql_select_db($config['mysql_db'], $link) or die ('Найти базу с таким именем не удалось!');
error_reporting(0);
Header("Content-Type: text/javascript; charset=windows-1251");
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
if ($login)
{ echo "yeah";
echo $login;
}
else {
echo "no";
echo $login;
}
?>
Пробелема в том, что независимо от количества символов в инпуте всегда выдается no, т.е. не приходит переменная login из пост запроса. Подскажите, пожалста, в чем проблема. Почти аналогичный скрипт для регистрации по событию submit работает нормально.