2014-10-27 28 views
1

讓我們假設我有這樣的輸入方式:javascript如何確認工作?

<input type="submit" value="Delete" onclick="return window.confirm('Are u sure?');"/> 

這裏是我的問題,它是如何工作的?當我點擊「刪除」,然後在對話框中點擊「取消/否」,操作刪除不會被調用,但爲什麼?我明白,在我們點擊刪除輸入後,onclick事件會被提出,但是不知道爲什麼它可以停止提升表單動作。方法window.cofirm返回布爾值,以便停止調用表單動作?

+3

點擊 「取消」 品牌['確認()'](https://developer.mozilla.org/en-US/docs/Web/API/Window.confirm)將false返回給您的'onclick'處理程序,這會阻止默認操作(提交)。 – showdev 2014-10-27 20:19:12

+1

OK返回true,cancel返回false,它不會變得簡單得多。返回的false值取消提交按鈕上的點擊事件。 – j08691 2014-10-27 20:19:37

回答

2

基本上,如果您在任何事件處理程序中返回「false」,它將阻止事件的默認操作發生。返回「true」允許它繼續。由於單擊確定時confirm函數返回true,否則它將阻止提交表單,除非點擊OK。

+0

謝謝,我知道真/假將被返回,但不知道什麼,例如這樣的假做之後,現在我看到「假防止默認行爲發生」,謝謝:) – CSharpBeginner 2014-10-27 20:40:49

2

當您單擊取消在確認框,你的下面的代碼:

的onclick = 「返回window.confirm( '是U確定嗎?');」

轉換成

的onclick = 「返回false;」

停止表單提交。

1
result = window.confirm(message); 
  • message是要顯示在對話框中的可選字符串。
  • result是一個布爾值,指示是選擇確定還是取消(true表示OK)。

- Mozilla Developer Network