2011-07-21 11 views
0

jQueryのvalidateプラグインとリモートオプションを使用して、入力フィールドからユーザー名の有無を確認しています。jQueryのvalidateプラグインを "remote"オプション付きで使用する

http://localhost/lopoli2/ajax_php/admin/checking.php?callback=jQuery15104128487491980195_1311232389069 

私のPHPスクリプトが正常に動作し、リターン:私はpostにタイプの要求を設定していても、私はリクエストURLがコールバックパラメータが追加されたことに気付きました

remote : { 
     url :'ajax_php/admin/checking.php', 
     type :'post', 
     data : { 
     type:'username' 
}} 

:私はこのコードを使用します有効なユーザー名はtrue、無効なユーザー名は文字列です。しかし、エラーメッセージは表示されません!このような短いルックスで私のPHPファイル:

$check = mysql_query("select `username` from `user_tbl` where `username`='".$_POST['username']."' ",$conn) 
or die('Error In DB !'); 

if (mysql_num_rows($check)>0){ 
    echo("username is already exists"); 
}else{ 
    echo("true"); 
} 

は、ここで私が知りたいです:

  • のためのコールバックパラメータは何?
  • 「表示エラーメッセージ」の問題を解決するにはどうすればよいですか?

答えて

0

変更してみてください:

echo("false"); 
0

echo("username is already exists"); 

を私はあなたのPHPスクリプトにtrueまたはfalseを返すために持っていると思います。次に、オプションオブジェクトのmessagesパラメーターを使用してカスタムエラーメッセージを使用して、エラーメッセージを設定できます。

また、あなたのデータパラメータが正しく設定されていないと思います。これはドキュメントのように見えます。あなたは、それは多分異なるバージョンが動作すると言いますが? (http://docs.jquery.com/Plugins/Validation/Methods/remote#options)

remote: { 
    url: 'ajax_php/admin/checking.php',, 
    type: "post", 
    data: { 
     username: function() { 
      return $("#username").val(); 
     } 
    } 
} 

その後、あなたのPHPスクリプトのリターンで 'true' または 'false'。あなたはここに

$check = mysql_query("select `username` from `user_tbl` where `username`='".$_POST['username']."' ",$conn) 
or die('Error In DB !'); 

if (mysql_num_rows($check)>0){ 
    echo 'false'; 
}else{ 
    echo "true"; 
} 

は、あなたがメッセージのパラメータ(http://docs.jquery.com/Plugins/Validation/validate#options)

$(".selector").validate({ 
    rules: yourRules, 
    messages: { 
    username: { 
     remote: "Username already exists" 
    } 
    } 
}) 
を追加する方法であるプラグインjqueryの検証を使用してエラーメッセージを設定することができます
0

戻り値はブール値(true/false)または文字列(falseとして処理され、返されたテキストを表示する)と見なされます。

また、ヘッダー( 'content-type:text/plain')を使用して、出力をtext/javascriptまたはtext/plainに設定することが重要です。

値を返すときに、次のようにPHPで、あなたは、戻り値の型に注意を払う必要がありますが:

が「本当」エコー; // =>真、ブール値。 検証の結果が真であり、すべてが正常であるとします。

echo 'false'; // => false、ブール値。 検証の結果が間違っていて、バリデータオブジェクトに設定されたメッセージを表示したとします。

echo '"false"'; // => "false"、文字列。 検証の結果が間違っていて、返された文字列がエラーとして表示されることを示します。

関連する問題