一次提交两个表单 - Safari bug

时间:2015-06-10 23:15:28

标签: javascript jquery ajax forms safari

我正在尝试使用jQuery和ajax同时提交两个表单。我们的想法是将电子邮件添加到单独的邮件列表中,这就是为什么需要2个表单的原因。

适用于Chrome和Firefox,但不适用于Safari。当我在Safari中测试时,它只提交其中一个表单。

如果有人有任何建议会有很大的帮助。

我的代码如下所示:

HTML

<form>
    <input id="email-input" type="text" name="email" value="" size="11">
    <input type="checkbox" name="newsletter-signup" id="newsletter-signup">
    <input id="submit-btn" type="submit" value="SignUp">
</form>

<form id="mailing-list-form">
    <input type='hidden' name='email' id="hidden-email" value='' size='10'>
</form>

JS

$('#email-input').change(function() {
  $('#hidden-email').val($(this).val());
});

$("#submit-btn").click(function() {

  if ($("#newsletter-signup").is(':checked')) {
    submitTwoForms();
  } else {
    //do nothing
  }
});

function submitTwoForms() {
  var dataObject = $('#mailing-list-form').serialize();
  $.ajax({
    url: "http://pacmail.em.marketinghq.net/functions/mailing_list.html",
    data: dataObject,
    type: "GET",
    success: function() {
      $('form').each(function() {
        $(this).submit();
      });
    }
  });
  return false; //to prevent submit
}

0 个答案:

没有答案