ajax-email已经存在..还提交表格。 :(

时间:2014-06-02 11:20:38

标签: php jquery ajax

我想阻止表单提交..我的电子邮件已经存在.. 我正在使用隐藏变量'' 我的代码..

$.ajax({
     url: link_url,
    type: "post", //post is more secure
    data: JSON.stringify(senddata), // JSON is format
    headers: {'Content-Type': 'application/x-www-form-urlencoded'}, // for @ space and all
    success: function(result){
        if(result > 0){
            document.getElementById("email_valid").className = "error";
            document.getElementById('email_valid').innerHTML='Email already exist.';
            var res=document.getElementById("dnsub").value;
            if(res>0) {
                flag=false;
            }
            else{flag=true;}

        }
        else{
            document.getElementById("email_valid").className = "success";
            document.getElementById('email_valid').innerHTML='Available';
        }
    },
    error: function (xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
        alert(thrownError);
      }
})

是我的ajax代码 如何使用隐藏变量..

2 个答案:

答案 0 :(得分:0)

根据我的理解,您正在检查表单提交中是否存在电子邮件地址。

而不是将输入类型更改为“提交”到“按钮”。

对于该按钮,请单击以编写事件。在按钮的Onclick中,检查电子邮件地址是否存在。

如果它存在向用户显示错误消息,则触发表单提交事件。

$("form").submit();

答案 1 :(得分:0)

您必须先阻止默认表单提交。然后在您的ajax调用的success处理程序中提交表单。

$('#form_id').submit(function(e){
  e.preventDefault(); // this will prevent form submission
  $.ajax({
     url: link_url,
     type: "post", //post is more secure
     data: JSON.stringify(senddata), // JSON is format
     headers: {'Content-Type': 'application/x-www-form-urlencoded'}, // for @ space and all
     context: this, // pointing to form submit
     success: function(result){
        if(result > 0){
            document.getElementById("email_valid").className = "error";
            document.getElementById('email_valid').innerHTML='Email already exist.';
            var res=document.getElementById("dnsub").value;   
        }
        else{
            document.getElementById("email_valid").className = "success";
            document.getElementById('email_valid').innerHTML='Available';
            // the above two lines will be moot as the form will submit and page will get refreshed
            this.submit(); // all good, submit the form
        }
    },
    error: function (xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
        alert(thrownError);
      }
  });

});