2012-01-26 27 views
0

我問過類似的問題,最近:攔截刪除按鈕按下 - 在確認取消不執行任何操作

I want to "intercept" a delete button press

基本上我試圖攔截刪除按鈕按下。我可以在onclick=中使用confirm("Are you sure?")進行確認,但無論我選擇什麼,確定或取消,仍會繼續刪除我單擊刪除的項目。

我該如何預防?

我的代碼如下所示:

'<td><button type="submit" name="del" onclick="confirm(\'Are you sure?\')" value=' . stripslashes($servrow["serv_id"]) . '>Del</button></td> 

如何讓這個點擊取消不刪除的項目!

(如果有人需要我的穿插PHP轉換成HTML只是,讓我知道,我很樂意,增加我的問題的理解)

回答

0

的確認對話框返回一個值,這取決於按鈕被點擊('好'或'取消')。

目前,確認對話框正在顯示,無論點擊哪個按鈕,窗體的submit操作完成(我假設繼續刪除項目)。

你應該把onclick功能集成到一個功能,所以:

<button type="submit" name="del" onclick="return confirmDelete();" value=' . stripslashes($servrow["serv_id"]) . '>Del</button> 

confirmDelete()功能看起來是這樣的:

var c = confirm('Are you sure?'); 
if(c==true) { 
    return true; 
} else { 
    return false; 
} 

返回true將使submit動作來完成。返回false將阻止它完成(再次,我假設刪除僅在提交表單時處理)。

+0

好吧,我想我可能不得不爲此寫一個函數。只是想知道是否有更簡單的方法。謝謝! –

+0

Hrm,Netbeans在這裏給我「無效回報」 –

+0

我是個白癡,完全忘了把邏輯包裝在一個函數中。 –

0
<td><button type="submit" name="del" onclick="if !confirm(\'Are you sure?\') return false;" value=' . stripslashes($servrow["serv_id"]) . '>Del</button>