2012-11-26 65 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)"