即使在禁用提交按钮后,表单也会提交两次

时间:2018-04-27 06:25:55

标签: javascript php jquery html codeigniter

我正在开发代码点火器PHP,其中我的表单最初被多次提交。我有2个提交按钮,点击第一个按钮弹出窗口,第二个提交按钮弹出窗口。在表单提交上,我禁用了两个按钮。但我仍然在我的数据库中输入了多个。

我尝试刷新页面以检查它是否再次提交,但这并没有发生。已经检查了不同的浏览器的问题,但都是徒劳的。

以下是片段,因为它太大而无法添加整个表单。表单分为带有下一个和上一个按钮的部分,在最后一部分,我们显示提交按钮和弹出窗口。

/etc/apache2/extra/httpd-vhosts.conf

这些是各种按钮:

<form name="ques_response" id="ques_response" action="<?php echo base_url(); ?>data/insert" method="post" enctype="multipart/form-data">

这就是我禁用按钮的地方:

<button type="submit" class="btn btn-blue btn-back" id="prev-button">Previous</button>
<button type="submit" class="btn btn-danger" id="final-button">Submit</button>
<button type="submit" class="btn btn-blue btn-next" id="next-button">Next</button>
<input type="submit" id="popup-final-button" name="Submit" value="Final" class="final_submit btn btn-blue btn-save" >

我真正需要知道的是,为什么即使在禁用按钮后,表单也会被提交两次。如果有办法,我更热衷于重新创建这个问题。如果我能做些什么来避免这种情况。任何服务器端也都处理。

由于

2 个答案:

答案 0 :(得分:2)

有4个提交按钮,这意味着无论何时单击任何这些按钮,表单都将被提交。您应该只使用一个提交按钮。

使用其他按钮仅在页面上进行互动。

表单中只能有一个type="submit"按钮。从休息三个按钮中移除type="submit"

答案 1 :(得分:0)

禁用按钮不会阻止提交表单;它是提交的表单,而不是按钮。请改用preventDefault处理程序中的submit

$("#ques_response").submit(function(e){
  // if you want to prevent the form submission that was just triggered from being submitted for real:
  e.preventDefault();