时间:2016-02-29 17:42:27

标签: javascript forms confirm

我有一个表单,用户可以根据他们在表单中选择的按钮,选择修改或删除数据库中的记录。如果我把它作为一个/或者它保留它,它会很好用,但我想在人们意外点击错误的按钮之前添加一个确认/警告。但是,当我添加确认功能时,如果警告单击“确定”,表单将不再执行操作(它会尝试通过单击第一个按钮执行调用的操作)。如果在警告弹出后点击取消,则没有任何反应(应该是这样)。但是,如果我删除确认功能,两个按钮都能正常工作(这只会让人更有可能不小心碰到了错误的按钮)。我在这里找到了很多关于如何通过一次单击执行操作的问题,但显然我不希望它立即执行,所以这些没有帮助。

以下是我正在努力工作的按钮的代码:

 <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')">

它工作正常。

1 个答案:

答案 0 :(得分:0)

试试这个

<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>

(请注意,您需要在表单标记中添加一个名为&#39; my-form&#39;的ID,以使此示例正常工作。)