2013-12-08 74 views
2

我试图找出问题出在哪里,但没有线索。
我有一个使用HTML5多个提交的一个窗体的4个按钮。当我点击DELETE按钮时,弹出一个对话框,使用属性onclick="confirm('message');。当我点击取消时,它应该停止表单提交,关闭对话框并保留在同一页面上而不采取任何行动,而是一直提交表单。它直到现在都完美运行,我无法找出问题所在。为什么JS确认()不会在确认对话框中点击取消时取消提交操作?

<form action="http://google.com/index/25" method="post" accept-charset="utf-8"> 
    <button class="btn" type="submit" name="formSubmit" value="new">New</button> 
    <button class="btn" type="submit" name="formSubmit" value="save">Bulk save</button> 
    <button class="btn btn-danger" type="submit" name="formSubmit" value="delete" onclick="confirm('Do you really want to remove a record(s)?.');">Delete permanently</button> 
    <button class="btn" type="submit" onclick="confirm('stop or proceed');">submit</button> 
</form> 

和现场DEMO IS HERE on jsbin

任何人都得到了同样的错误?

+0

的可能重复[JavaScript的表单提交 - 确认或取消提交对话框(http://stackoverflow.com/questions/6515502/javascript-form-submit-confirm-or-cancel-提交对话框) – bfavaretto

回答

5

处理它的形式,而不是按钮,并有处理从确认对话框返回结果:

<form onsubmit="return confirm('stop or proceed');"> 

您也可以处理每个按钮的事件,但不要忘了返回:

<button onclick="return confirm('blabla');">Button</button> 
+0

嗯,尝试与代码直接返回按钮,但我不知道它会工作。如果没有,你可以让每个按钮设置一个标志,你可以从表单的提交中检查。 – bfavaretto

+0

但这就是我已经做的,不是吗?我的处理程序不工作,因为'confirm()'对话框忽略它。它在几天前工作,我不知道它可能是什么 – aspirinemaga

+1

你没有返回确认的结果(至少不是你发布的代码)。 – bfavaretto

0

如果你想使用jQuery,您应使用此代码:

<a href="www.blahblah.com" class="classTest">click</a> 

JQuery的

$(function() { 
$(".classTest").click(function (e) { 
      return confirm("Submit the Post action?"); 
}); 
} 
相关问题