2017-01-16 60 views
1

我當用戶點擊確認彈出的網站上刪除項目上的按鈕,我使用alertify.js爲了這個,我有按鈕等點擊刪除確認對話框出現時,不過工作,自動刪除項目並消失,然後我可以單擊確定確認或取消..?警報確認問題

下面是HTML

<button type="submit" class="btn btn-link btn-sm" Onclick="return ConfirmDelete();" style="margin:5px;"></button> 

這裏的javascript代碼

function ConfirmDelete() 
{ 
    alertify.confirm("This is a confirm dialog", function (ev) { 
     ev.preventDefault(); 
     alertify.success("You've clicked OK"); 
    }, function(ev) { 
     ev.preventDefault(); 
     alertify.error("You've clicked Cancel"); 
    }); 
} 

我怎樣才能防止這種情況發生?

+0

你,你可以一直在Ok按鈕按下的情況下返回false並提交形式手動(編程),但是停止使用html表單? – Aer0

+0

是的,我使用的是html表格 –

+0

不知道你使用的是哪個庫或框架,但一般來說,如果你使用按鈕作爲表單提交,你不會在該按鈕上使用onclick事件。這可能會導致不希望的行爲。所以也許這可能是你的錯,因爲你的代碼似乎是非常正確的。 – Aer0

回答

3

你不能阻止表單提交在這種情況下,因爲自定義的確認是異步非阻塞對話框。

function ConfirmDelete(button) { 
    alertify.confirm("This is a confirm dialog", function() { 
    button.form.submit() 
    // alertify.success("You've clicked OK", function() { 
    // button.form.submit() 
    // }); 
    }, function() { 
    alertify.error("You've clicked Cancel"); 
    }); 

    return false; 
} 

對於這個確保按鈕引用傳遞給你的函數:

<button type="submit" onclick="return ConfirmDelete(this)">ConfirmDelete</button> 
+0

這裏是一個演示,順便說一句:https://jsfiddle.net/71fnf6zg/ – dfsq

+0

謝謝!這工作完美 –