0

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

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

有任何想法吗?

4

3 回答 3

0

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

于 2012-05-19T17:16:43.483 回答
0

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

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

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

elems[i].onclick = confirmation;

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

于 2012-05-19T17:20:35.627 回答
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">
于 2012-05-19T17:24:28.223 回答