jquery ajaxで登録フォームを作成しています。私は、フォームを送信し、すでにDBに存在するユーザ名の値を入力するとjQuery ajaxでfalseが返されない
function validateData()
{
var email = jQuery("#email").val();
var username = jQuery("#username").val();
var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
var regex = new RegExp(/^\+?[0-9(),.-]+$/);
if(!emailReg.test(email))
{
alert('Please enter valid email');
return false;
}
var agreement = jQuery("#agereement").is(":checked");
if(agreement == false)
{
alert("Please agree with the agreement !!! ");
return false;
}
var pass = jQuery("#password").val();
var repass = jQuery("#repeatpass").val();
if(pass != repass)
{
alert("Password & Repeat Password Should be same");
return false;
}
var FirstData = "email=" + email+"&username="+username;
var url = "ajaxcheck.php";
jQuery.ajax({
dataType : 'html',
type: 'GET',
url : url,
data : FirstData,
complete : function() { },
success: function(data)
{
if(data == '')
{
alert("No Problem");
var flag = "true";
}
else{
alert("Username Or Email ID Already Exists");
var flag = "false";
}
}
});
alert(flag);
return flag;
}
</script>
それはUsername Or Email ID Already Exists
を警告ではなく、ページ上の滞在のフォームを送信:私のjQueryのコードは以下の通りです。
var flag = "true";
…
var flag = "false";
…
return flag;
問題がある:それはエラーはそれではなく、あなたが書くときにformタグで
<form onsubmit="return validateData();">
....
<input type="submit">
</form>
:あなたは電子メールは、あなたがの行で何かを使用することができますが存在するかどうかを確認したいと仮定すると? –
@u_mulder、OPはasync:falseを使用しています。これは、ajax呼び出しが同期することを意味します。 –
@PatrickEvans、ありがとう、その後ストリング値に移動します) –