我正在使用 code igniter PHP,其中我的表单最初被多次提交。我有 2 个提交按钮,单击第一个按钮会打开一个弹出窗口,第二个提交按钮位于弹出窗口上。在表单提交时,我禁用了这两个按钮。但是我的数据库中仍然有多个输入。
我尝试刷新页面以检查它是否再次提交,但没有发生。也检查了不同的浏览器是否存在问题,但都是徒劳的。
以下是片段,无法添加整个表格,因为它太大了。表单分为带有下一个和上一个按钮的部分,在最后一部分我们显示提交按钮和弹出窗口。
<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" >
这是我禁用按钮的地方:
$("#ques_response").submit(function(){
$('#final-button').attr("disabled",true);
$('#popup-final-button').attr("disabled",true);
});
我真正需要知道的是,为什么即使在禁用按钮之后,表单仍会提交两次。如果有办法,我更愿意重现这个问题。另外,如果我能做些什么来避免这种情况。任何服务器端处理。
谢谢
最佳答案
有 4 个提交按钮,这意味着无论何时单击这些按钮中的任何一个,都会提交表单。您应该只使用一个提交按钮。
仅使用其他按钮在页面上进行交互。
您的表单中应该只有一个 type="submit"
按钮。从其余三个按钮中删除 type="submit"
。
关于javascript - 即使在禁用提交按钮后,表单也会被提交两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50056472/