我正在开发代码点火器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" >
我真正需要知道的是,为什么即使在禁用按钮后,表单也会被提交两次。如果有办法,我更热衷于重新创建这个问题。如果我能做些什么来避免这种情况。任何服务器端也都处理。
由于
答案 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();