2015-01-13 89 views
-1

我有一個允許用戶從數據庫中刪除一些數據的表單。在提交表單之前添加確認提醒

我想進行一些確認以防止意外刪除。我想要做以下事情:

  1. 當按下提交時,警報彈出「你確定嗎?」
  2. 如果用戶點擊「是」,則運行腳本
  3. 如果用戶點擊「否」,則不要提交腳本。

這怎麼辦?

我已添加onSubmit提醒,但它不顯示任何內容,但它仍提交表單。我怎樣才能延遲表單的提交只發生在用戶從警報中選擇「是」時?

<form method="POST" action="actions/remove-daily-recipient.php" onSubmit="alert("Are you sure you wish to delete?");"> 

回答

6

相反的alert,你必須使用confirmreturn

onSubmit="return confirm('Are you sure you wish to delete?'); 
0

停止默認行爲,要求確認,然後提交表單:

var form1 = document.getElementById('form1'); 
form1.onsubmit = function(e){ 
    var form = this; 
    e.preventDefault(); 
    if(confirm("Are you sure you wish to delete?")) 
     form.submit(); 
} 

JS小提琴:http://jsfiddle.net/dq50e963/

+0

這個問題是沒有標記爲jQuery的.. – stuartd

+0

通過使用該解決方案,我失去了我的數據,我用的形式,即在backand submiting數據丟失。如何防止以這種方式默認提交後轉發數據? – dsalaj

+0

@dsalaj:如果提交被阻止,表單數據將如何到達服務器。這不是必需的行爲嗎? –

1

表單上,你可以嘗試像一個js函數:

<form onsubmit="return submitResult();"> 

和你的功能有點像?

function submitResult() { 
    if (confirm("Are you sure you wish to delete?") == false) { 
     return false ; 
    } else { 
     return true ; 
    } 
} 

我認爲這將是一個好的開始。

+0

這和我以前的代碼一樣。它只是提交表單並轉到腳本。 – Francesca

+0

使用

+0

替換更新後的版本是您使其工作的正確方法。 –