0

これは登録フォームからです。この関数は、ユーザー名が使用可能かどうかを確認します。

jQuery:

    /* Verifies if the username is available */
    $.post('functions/usernameDisponibility.php',{usernamePHP:username},function(disponibility)
    {
            $('.usernameErrors').text(disponibility);

    if(disponibility==true)
    {
        $('#username').css('border-color','#00ff00');
    }else
        {
            $('#username').css('border-color','red');
            $('.usernameErrors').text('Username unavailable');
        }
    });

PHP:

    if(isset($_POST['usernamePHP'])&&!empty($_POST['usernamePHP']))
{
    $username = $_POST['usernamePHP'];

    $Connect = mysql_connect('localhost','root','');
                mysql_select_db('phplogin');

    $query= mysql_query("SELECT * FROM users WHERE username = '$username'");

    $result= mysql_num_rows($query);

    if($result==1)
    {
        echo false;
    }else
    {
        echo true;
    }
}

問題はエラー表示にあります。disponibility != true の場合は「Username available」と表示されますが、true の場合は「1」と表示されます。私の推測では、「1」は PHP スクリプトから来たものですが、これを行ったとしても:

            if(disponibility==true)
        {
            $('#username').css('border-color','#00ff00');
            $('.usernameErrors').text('');
        }else

「1」は依然として非常に迅速に表示され、その場合にのみ text('') に置き換えられます。「1」が全く表示されないのですがどうすればいいですか?

4

1 に答える 1

0

これは次の理由によるものです。

$('.usernameErrors').text(disponibility);

チェックを行う前に、「disponibility」変数の内容を出力しています。その行を削除します

于 2012-08-23T12:33:57.403 に答える