表格提交多次

时间:2014-12-28 13:26:38

标签: javascript jquery html ruby-on-rails ajax

我一直在使用jQuery 1.8.3,并且有两个表单和两个单选按钮,单击单选按钮时将显示表单。我在这里做的是点击保存按钮,我将检查哪个收音机被检查,取决于该表格将提交,问题是在一个表单提交后,该请求作为ajax,所以我不刷新页面一个提交,点击保存按钮,两次表单将提交,下次 4次 ...?

js代码

$(".save").live("click", function() {
  if ($("#b1").is(":checked")) {
    $("#lForm1").submit();
  }
  if ($("#b2").is(":checked")) {
    $("#lForm2").submit();
  }
});

$('input[type="radio"]').click(function() {
  //here toggle the form
});

HTML

<input type="radio" name="optionsRadios" id="b1" checked>
<input type="radio" name="optionsRadios" id="b2" >
<%= form_tag '/contact/create_check', method: :post, remote: true, id: 
'lForm1' %>
<%= form_tag '/contact/create_count', method: :post, remote: true, id: 
'lForm2' %>
<input type="button" class="btn btn-success save" value="Save" />

1 个答案:

答案 0 :(得分:0)

请做这样的事情

$(function() {
  $("#lForm1").on("submit", function(e) {
    e.preventDefault(); // stop submission
    if ($("#b1").is(":checked")) {
      $.ajax({url:$("#lform1").prop("action"),data:$("#lform1").serialize()});
    }
    else if ($("#b2").is(":checked")) {
      $.ajax({url:$("#lform2").prop("action"),data:$("#lform2").serialize()});
    }
  });
});