をSubmitingとき私は(た)「応答」ではない使用して自分のフォームを検証しsubmiting:
:$(documend).ready(function(){
//setting variables
ext_form.submit(function(){
if(validateExt_email() & validateExt_pass()){
var ext_email = $('#ext_email').attr('value');
var ext_pass = $('#ext_pass').attr('value');
$.ajax({
type: "post",
url: "validation_ext.php",
data: "ext_email="+ ext_email +"& ext_pass="+ ext_pass,
success: function(){
$('#content').load('p_order_ok.php');
}
})
return false;
}else
return false;
});
//validation rules
});
を私は私は私の電子メールの検証ルールを変更したときに、それは動作を停止だと思います
//validation rules
//e-mail
function validateExt_email(){
var ext_a = $("#ext_email").val();
var emailXHR = $.ajax({
type: "post",
url: "check_email_ext.php",
data: "email="+ext_a,
success: function(rsp){
//if it exists in our db
if(rsp == "exists"){
//do something
return true;
}
else
//if it's valid but not in our db
if(rsp == "ok"){
// do something else
return false;
}
else
//if it's NOT valid
if(rsp == "invalid"){
//do something different
return false;
}
}
}).success = function() {
}
//continuing validation
)};
"validation_ext.php"に投稿されたフォームの代わりに "check_email_ext.php"に(firebugのように)投稿しています。
ヘルプ/提案はありますか?
は
編集.... ありがとう私はこれをあきらめた...私はちょうど電子メールを検証するために、フィルタや正規表現を使用。
はあなたのコードが何をし言うものだすべての
ah ...はい...私は電子メールを入力するとき、またはsubmitを押すときに呼び出されますが、電子メールでも正しいです、それはvalidation_ext.phpに決して送信されません。私の電子メール評価のために外部ファイルに投稿していないときには、それはサブミットしていました。 – Pavlos1316
'validateExt_email'関数は決して値を返しません。 AJAXリクエストを送出して終了します。AJAXリクエストのsuccessコールバック関数は、 'validateExt_email'がすでに返されてから長く呼ばれます。 true/falseを返すと、あなたが思うことはできません。論理を再考する必要があります。 –
あなたは私の電子メールの検証の大部分が間違っていることを意味ですか? :) – Pavlos1316