私は自分のフォームでvalidateプラグインを使用していますが、私はリモート機能でいくつかの問題に直面しています。jqueryリモート関数の有効性を確認する
私はこれを使って、ファイルにajax投稿を付けて、trueまたはfalseを返します。 私は、取られた、または取られた電子メールを入力すると、正しいエラーメッセージで警告します。
しかし、Ajaxがtrueを返すときは、何もしません。つまり、電子メールの入力ボックスをクリックしてから、それを再トリガーするまでクリックします。それを検証します。 Iveは、onblurトリガーなどのような、さまざまなソリューションを試してみました。事は、他のすべての入力フィールドが問題なく動作することです。チェックメールファイルは非常にまっすぐです。実際には問題はありません。
これは電子メールのチェックとユーザー名のチェックであり、それは呼び出したファイル以外は同じです。
ここで$("#registerHere").validate({
onkeyup: false,
onblur: true,
rules:{
usr_name: {
required: true,
minlength: 5,
remote: {
url: "inc/checkuser2.php",
type: "post",
async: false
}
},
full_name:"required",
blog_name:"required",
user_email: {
required: true,
email: true,
remote: {
url: "inc/checkmail.php",
type: "post",
async: false,
data: {
user_email: function() {
return $("#user_email").val()
}
}
}
},
pwd:{
required:true,
minlength: 6
},
cpwd:{
required:true,
equalTo: "#pwd"
},
gender:"required"
},
messages:{
usr_name:{
required: "Velg et brukernavn",
minlength: "Minimum 5 bokstaver",
remote: "Dette brukernavnet er opptatt"
},
full_name:"Skriv inn navnet ditt",
blog_name:"Velg en tittel til bloggen din",
user_email:{
required: "Fyll inn e-post adressen din",
email:"Dette er ikke en gyldig e-post adresse",
remote:"Denne e-posten finnes allerede"
},
pwd:{
required:"Velg passord",
minlength:"Passordet må ha 6 tall og bokstaver"
},
cpwd:{
required:"Gjenta passordet",
equalTo:"Passordene er ikke like"
},
gender:"Velg kjønn"
},
errorClass: "help-inline",
errorElement: "span",
highlight:function(element, errorClass, validClass) {
$(element).parents('.control-group').addClass('error');
},
unhighlight: function(element, errorClass, validClass) {
$(element).parents('.control-group').removeClass('error');
$(element).parents('.control-group').addClass('success');
}
});
は、(それが動作後、サニタイズされます)私のcheckmail.phpです:
$duplicate = mysql_query("select count(*) as total from users where user_email='$user' ") or die(mysql_error());
list($total) = mysql_fetch_row($duplicate);
if ($total > 0)
{
$valid = 'false';
} else {
$valid = 'true';
}
echo $valid;
exit;
フォームを提出するようだとそれは、重要ではないのですが、私はとても近くだとき、私はこのようにそれを残して嫌いです私が欲しいものに!
これは分かりましたが、私は本当にiveを読んでいただきありがとうございました。
あなたはこれを見ることができますか?何が起こっていないのですか – Gerep
何も起こっていない限り、それはエラーではありません。それは、最初に検証イベントを引き起こすことはありません。もう一度入力をクリックして再トリガーする必要があります。それはうまく動作します。ただし、電子メールが使用されている場合は、最初に実行されます。 – Havihavi
http://api.jquery.com/trigger/を使ってみましたか? – Gerep