两个提交按钮,只在一个提交按钮上弹出确认

时间:2012-05-19 17:11:51

标签: javascript html forms confirm

我在表单中有两个提交按钮,允许用户更新/删除内容。仅当用户单击“删除”按钮时,我才想要确认弹出窗口。

<html>
<head>
<script type="text/javascript">

function confirmation() {
        // I need to know which submit button was pressed.
       if (value==Delete){
        var answer = confirm("Cancel?")
            if (answer){
                    return true;
            //Continue as intended
            }
            else{
             return false
            }
      }
}

</script>
</head>
<body>
<form id="Edit_Data">
//form input fields go here
<input name="action"  type="submit" onclick="confirmation()" value="Update">
<input name="action"  type="submit" onclick="confirmation()" value="Delete">
</form>
</body>
</html>

任何想法?

3 个答案:

答案 0 :(得分:0)

对于html标签中的onclick事件定义,为什么不调用单独的函数?

答案 1 :(得分:0)

最简单的方法是不在“更新”按钮上调用javascript。

如果您的表单是静态的,那么您可以在IDE中执行此操作。如果它是动态的,那么动态代码可以相应地创建表单元素。

如果表单元素是自动生成的,那么您应该动态地在JavaScript中设置事件处理程序。使用类型属性按钮或提交查找输入类型的所有元素,然后分配

elems[i].onclick = confirmation;

然后,您将事件对象作为方法参数获取,并且可以查询该按钮的值。

答案 2 :(得分:0)

首先,您的代码存在一些问题。 if语句中的值是一个未定义的变量,其次需要在delete周围加上引号。这是工作小提琴http://jsfiddle.net/SMBWd/和相关的代码更改。此外,我建议您不要在HTML中使用javascript来查看如何执行此操作。

function confirmation(e) {
        // I need to know which submit button was pressed.
       if (e.value=='Delete'){

并在HTML中

<input name="action"  type="button" onclick="confirmation(this)" value="Update">
<input name="action"  type="button" onclick="confirmation(this)" value="Delete">