Найти строку в httpxml.responseText - PullRequest
0 голосов
/ 02 мая 2009

Ниже приведен мой код, который я пытаюсь найти «Имя пользователя Ok» в тексте ответа, а затем пометить UserNameOk как true. Я не могу заставить это работать.

function check_username(username)
{
    var httpRequest;
    make_request()
    function stateck() 
    {

        if(httpxml.readyState==4)

         {  
            if (httpxml.responseText == "Username Ok")
            {
                 UserNameOk = true;

            }
             else 
            {
                UserNameOk = false;
            }
        checkCanSubmit();
        document.getElementById("user_div").innerHTML=httpxml.responseText;
         }
    }

    httpxml.onreadystatechange=stateck;
    user_url="ajax_username.php?username=" + username.value;
    httpxml.open("GET",user_url,true);
    httpxml.send(null);

}

Ниже мой код checkCanSubmit

function checkCanSubmit()
{
    if (UserNameOk && PasswordOk && EmailOk)
    {
    document.getElementById("button").disabled= false;
    }
    else
    {
    document.getElementById("button").disabled= true;
    }
    }

Любая помощь будет оценена Спасибо.

Ответы [ 2 ]

1 голос
/ 02 мая 2009

Просто предположение: ответом может быть что-то вроде «Имя пользователя Ok \ n» («\ n» - символ новой строки, который вы не видите). Или это может иметь пробелы в начале или конце. Вы можете распечатать (предупредить) длину строки, чтобы проверить это.

0 голосов
/ 02 мая 2009

Видите ли вы правильный ответ через firebug?

Первый шаг - убедиться, что ваш сервер возвращает правильный ответ, посмотрев на firebug. Я мог бы также упростить код, чтобы помочь сузить проблемы. Попробуйте:

function check_username(username)
{
    var httpRequest;
    make_request()
    function stateck() 
    {

            if(httpxml.readyState==4)

             {  
                    if (httpxml.responseText == "Username Ok")
                    {
                             alert('1');
                             UserNameOk = true;

                    }
                     else 
                    {
                            alert('2');
                            UserNameOk = false;
                    }
             }
    }

    httpxml.onreadystatechange=stateck;
    user_url="ajax_username.php?username=" + username.value;
    httpxml.open("GET",user_url,true);
    httpxml.send(null);

Можете ли вы более конкретно указать, в чем проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...