使用.submit()函数后,无法多次提交ajax表单

时间:2017-09-01 07:42:18

标签: javascript jquery html ajax forms

这是我的代码:

var onloadCallback = function() {	
	$( "#submit" ).each(function() {
        grecaptcha.render($( this ).attr('id'), {
            'sitekey' : '6Lcjvi4UAAAAAIR7_ckItF2HfMEFHx427WUDdGDk',
            'callback' : onsubmitforgotpass
        });
    });
};



function onsubmitforgotpass(token) {
  $(document).ready(function() {
    $("form.formajax").submit(function() {
      $.ajax({
        type: "POST",
        url: "admin/login/forgotpass.php",
        data: $("form.formajax").serialize(),
        cache: false,
        success: function(result) {
          $(".forgotpassresult").html(result);
          $(".forgotpassresult").css("opacity", "1");
        }
      });
      return false;
    });
    
    $("form.formajax").submit();
  });
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<form action="" method="post" class="formajax">
  <input type="text">
  <input type="submit" id="submit">
</form>

我无法多次提交此ajax表单。

可能是因为这两行:

$("form.formajax").submit(function()$("form.formajax").submit();

如果我将这些行替换为$("#submit").click(function()$("#submit").click();

然后我可以多次提交表格。

无论如何使用.submit();函数多次提交表单? (它也会帮助我代码的其他部分,所以我不想使用click();

1 个答案:

答案 0 :(得分:0)

嘿,请测试以下内容:

请删除操作

action="abc.com"

action=""

按钮点击添加ajax调用,如下例所示:

  $("#submit").click(function(e) {
  e.preventDefault();
  $.ajax({
    type: "POST",
    url: "admin/login/forgotpass.php",
    data: $("form.formajax").serialize(),
    cache: false,
    success: function(result) {
      $(".forgotpassresult").html(result);
      $(".forgotpassresult").css("opacity", "1");
    }
  });

});

});