2017-04-04 59 views
0

我运行一个Ajax请求,那么一旦我得到的结果后,我选择它是否应该继续,或者如果形式不应该提交。我正在检查电子邮件是否存在。Ajax调用函数返回false不能正常工作

问题是我将success:中的返回错误移出,因为它不在那里工作,现在在一个单独的函数中它也不起作用。我得到了alert("FALSE");但形式仍然提交这是没有好,因为我想一个错误弹出的情况发生。

$.ajax({ 
    type: "POST", 
    url: "/ajax/checkdata.php", 
    data: "email="+email, 
    success: function(data){ 
    var returned = true; 
    if (data == "Email Exists") { 
     returned = false; 
    } else { 
    } 
    emailModal(returned); 
    } 
}) 

function emailModal(result){ 
    if (result) { 
    alert("TRUE"); 
    } else { 
    alert("FALSE"); 
    return false; 
    } 
} 
+1

电话是异步,为时已晚,在这一点上的东西返回到窗体 – adeneo

+0

所以我怎么能做到这一点的异步:假似乎并没有发挥作用之前 –

+0

要清楚,你的要求是,你想在提交表单时执行AJAX请求,并确定请求的结果rmines是否允许提交提交 - 是否正确? –

回答

3

你不得不总是防止从形式提交,然后在检查电子邮件弄明白阉显示错误或使用本地提交处理

$('form').on('submit', function(e) { 
    e.preventDefault(); 
    $.ajax({ 
     type: "POST", 
     url: "/ajax/checkdata.php", 
     data: {email : email}, 
     context: this 
    }).done(function(data) { 
     if (data == "Email Exists") { 
      alert(data); 
     } else { 
      this.submit(); 
     } 
    }); 
}); 
提交表单
+0

神奇的作品一种享受!将尽快回答! –

+0

不客气! – adeneo