我在表单中有两个提交按钮,允许用户更新/删除内容。仅当用户单击“删除”按钮时,我才想要确认弹出窗口。
<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>
任何想法?
答案 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">