Javascript 在表单提交之前发出ajax请求,在ajax完成后提交数据

Javascript 在表单提交之前发出ajax请求,在ajax完成后提交数据,javascript,jquery,html,ajax,forms,Javascript,Jquery,Html,Ajax,Forms,我的页面上有一个带有提交按钮的表单。当用户单击按钮时,我希望发出一个ajax请求,如果该请求返回正确的结果,则继续提交表单 但是这有点棘手,因为表单是在ajax得到响应之前提交的,它也不关心响应是什么。如何创建这样的功能 我尝试将submit按钮设置为disabled,但是click事件根本没有注册 $(".submit-button").click(function() { $.post( "exists.php",{ email: email}, function( data ) {

我的页面上有一个带有提交按钮的表单。当用户单击按钮时,我希望发出一个ajax请求,如果该请求返回正确的结果,则继续提交表单

但是这有点棘手,因为表单是在ajax得到响应之前提交的,它也不关心响应是什么。如何创建这样的功能

我尝试将submit按钮设置为disabled,但是click事件根本没有注册

$(".submit-button").click(function() {
    $.post( "exists.php",{ email: email}, function( data ) {
        if (data=="wrong result") {
            // display error the the user
        } else {
            //proceed with submitting form
        }
    });
}


<form action="register" method="post">
   <fieldset class="c-fieldset">
       <label class="input-data"> Email: <input type="email" name="email-address" required > </label>
   </fieldset>
   <input type="submit" class="submit-button" value="Submit">
</form>
您可以在else块中提交表单

$(".submit-button").click(function(e) {
// prevent the default behavior of the form
e.preventDefault();
      $.post("exists.php", {
          email: email
        }, function(data) {
          if (data == "wrong result") {
            // display error the the user
          }
        } else {
          $("#myForm").submit();
        }
      }
    }

<form action="register" method="post" id = 'myForm'>
  // Added id to form
  // rest of the code
</form>
您可以在else块中提交表单

$(".submit-button").click(function(e) {
// prevent the default behavior of the form
e.preventDefault();
      $.post("exists.php", {
          email: email
        }, function(data) {
          if (data == "wrong result") {
            // display error the the user
          }
        } else {
          $("#myForm").submit();
        }
      }
    }

<form action="register" method="post" id = 'myForm'>
  // Added id to form
  // rest of the code
</form>
使用e.preventDefault可防止自动提交,检查结果是否成功,并使用form.submit功能。我已经在表单中添加了一个id

$.submit-button.onclick,function e{ e、 preventDefault;//禁止在此提交表单 var email=$[name='email-address'].val; $.postexists.php{ 电邮:电邮 },函数数据{ 如果数据==错误的结果{ //显示用户的错误信息 }否则{ //继续提交表格 $myForm.submit; } }; }; 电邮: 使用e.preventDefault可防止自动提交,检查结果是否成功,并使用form.submit功能。我已经在表单中添加了一个id

$.submit-button.onclick,function e{ e、 preventDefault;//禁止在此提交表单 var email=$[name='email-address'].val; $.postexists.php{ 电邮:电邮 },函数数据{ 如果数据==错误的结果{ //显示用户的错误信息 }否则{ //继续提交表格 $myForm.submit; } }; }; 电邮:
$myForm.submit;-这不就是再次调用$myForm.onsubmit吗?或者jQuery是否足够聪明以确定差异?它似乎足够聪明$myForm.submit;-这不就是再次调用$myForm.onsubmit吗?或者jQuery是否足够聪明来确定差异?它似乎足够聪明