2012-11-26 63 views
1

我想添加一个JavaScript警报到我的表单,我遇到的问题是,当用户点击取消,表单仍然被提交?Javascript取消按钮提交表格

在脑子里,我有:

<head> 
<script type="text/javascript"> 
function confirmDelete() {if(confirm('Are you sure you want to delete this category ?')) 
alert('Category Deleted !'); 
else alert('Cancelled !')} 
</script> 
</head> 

我的链接使用下列内容:

a onClick="confirmDelete()" 

林不知道为什么点击取消还是提交它?是它可以显示已取消!持续2秒,然后关闭?

+1

这应该对你有帮助:http://stackoverflow.com/questions/932653/how-to-prevent-buttons-from-submitting-forms – pabrantes

回答

3

您需要从确认返回结果:

function confirmDelete() { 
    return confirm('Are you sure you want to delete this category ?'); 
} 


onClick="confirmDelete()" 
+0

如果我将onClick事件改为onClick =“return confirmDelete()”Cancel仍然提交表格? –

+0

任何不指定返回结果的函数都会自动返回undefined。这不会解决为假?只是想知道,我自己没有答案。 – Bruno

+0

谢谢,那是现在整理:-) –

1

你可以使用jQuery单击事件和内部事件把e.preventDefault();,它会防止违约和默认submiting形式 -

+1

@ roccp337'preventDefault()'也在标准[javascript](http://www.w3schools.com/jsref/dom_obj_event.asp)中。 – AbstractChaos

4

使用尝试取消

function confirmDelete(e) { 
if(confirm('Are you sure you want to delete this category ?')) 
    alert('Category Deleted !'); 
else { 
    alert('Cancelled !'); 
    e.preventDefault(); 
} 
} 

,改变你的onclick到

onclick="confirmDelete(event)"