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

标签 javascript php jquery html codeigniter

我正在使用 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/

相关文章:

php - 删除 SoftDeletingScope 作为全局范围

php - 防止通过网络浏览器访问 iPhone 应用程序中使用的 PHP 脚本

java - Vaadin 不允许导入外部脚本

javascript - 使用小部件获取引用短 URL

php - 我们可以在 MySQL 数据库的 PHP 中添加和更新同一列吗?

javascript - 使用用户输入更改或更新复选框值

javascript - 如何在 react 中计算 ul 的事件子元素?

javascript - 如何在不重新加载当前页面的情况下加载 URL?

c# - 只读文本框的服务器验证 - 防止输入值

javascript - 使用 Javascript 按钮切换 CSS 悬停元素