在表单中执行辅助选项之前进行确认
Confirm before executing secondary option in form
>我有一个表单,用户可以根据他们在表单中选择的按钮选择修改或删除数据库中的记录。如果我将其保留为非此即彼,效果很好,但我想在人们删除文件之前添加确认/警告,以防他们不小心点击了错误的按钮。但是,当我添加确认功能时,如果他们在警告上单击"确定",则表单将不再执行该操作(它会尝试执行通过单击第一个按钮调用的操作)。如果他们在弹出警告后点击取消,则不会发生任何事情(这是应该的)。但是,如果我删除确认功能,两个按钮都可以正常工作(它只会使某人更有可能不小心点击错误的按钮)。我在这里找到了很多关于如何一键执行操作的问题,但显然我不希望它立即执行,所以这些都没有帮助。
这是我尝试工作的按钮的代码:
<input type="submit" value="DELETE Selected Rows" onClick="return confirm('WARNING!! You are about to DELETE the selected rows; this action cannot be undone!'); submitForm('delete_record.php');">
但是,如果我只有:
<input type="submit" value="DELETE Selected Rows" onClick="submitForm('delete_record.php')">
它工作正常。
试试这个
<input type="submit" id="submit-button" value="DELETE Selected Rows" onClick="if (confirm('WARNING!! You are about to DELETE the selected rows; this action cannot be undone!')) { submitForm('delete_record.php'); };">
但是,我建议使用事件绑定而不是使用 onclick-attribute。示例(根据@sparrowhawk87在评论中提供的新信息更新):
<script>
document.getElementById("my-form").addEventListener("submit", function(event){
event.preventDefault();
if (confirm('WARNING!! You are about to DELETE the selected rows; this action cannot be undone!')) {
alert("Execute submitForm() here.");
};
});
</script>
(请注意,您需要在表单标签中添加一个名为"my-form"的 ID 才能使此示例正常工作。
相关文章:
- 我的单元测试选项是什么
- 如何更改bigquery API中的计费层选项
- 使用Javascript获取所选选项ID
- Selectize.js:如何对整数值的选项进行排序
- 在表单中执行辅助选项之前进行确认
- CRM 2011 - 选项集上的简单 JavaScript 确认框
- 关闭选项卡/浏览器前的确认
- 新窗口/选项卡中的JavaScript确认对话框
- 关闭浏览器选项卡时,如何在确认框中默认选择“取消”
- 确认框无法处理指向另一个选项卡的链接
- 确认选项卡不会显示
- 窗口确认后取消选择下拉选项
- 如何显示确认弹出从下拉菜单中选择一个选项
- 如何使用jquery防止取消确认后选择选项的改变
- 多个选择框使用jquery来确认选中的至少一个选项
- 如何使一个模态窗口的选项作为js确认
- 自定义确认消息'Yes'没有选项不来
- 在警告框中显示信息并接受用户输入-标题、选择选项、确认、取消
- 引导确认不考虑选项
- 在 javascript 确认对话框中更改标题和选项