表单有两个提交按钮

时间:2016-11-29 16:50:35

标签: jquery html-form-post

我有一个表格,下面有两个提交按钮。

<form id="choice" name='form' method="POST" action="/">
  <button type="submit" name="vote" id="btnMinus" value="1"></button>
  <button type="submit" name="vote" id="btnPlus" value="2"></button>
</form>

我有这段代码是为了防止表单没有提交两次。但是,它会出现“错误请求”错误。似乎它没有发送“投票”价值。有什么想法吗?

$('#choice').submit(function(e)
{  
    e.preventDefault(); 
    $('#btnPlus').attr('disabled',true);
    $('#btnMinus').attr('disabled',true);
    this.submit();
});

1 个答案:

答案 0 :(得分:1)

按照@ RoryMcCrossan的评论,您可以使用隐藏的输入并在点击按钮后设置它的值:

&#13;
&#13;
$('#choice button').click(function(e) {  
  e.preventDefault();
  $('#vote-el').val($(this).val());
  
  $('#btnMinus').prop('disabled',true);
  $('#btnPlus').prop('disabled',true);
  
  $('#choice').submit();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="choice" name='form' method="POST" action="/">
  <input id="vote-el" type="hidden" name="vote" value="" />
  <button type="submit" name="vote" id="btnMinus" value="1">1</button>
  <button type="submit" name="vote" id="btnPlus" value="2">2</button>
</form>
&#13;
&#13;
&#13;