2012-02-01 19 views
23

我顯示確認提示框通過JavaScript:如何顯示確認警報三個按鈕「是」「否」和「取消」,因爲它表明在MS Word

function checked() { 
if (hdnval.toLowerCase() != textbox1.toLowerCase()) { 
    var save = window.confirm('valid') 
    if (save == true) 
    { 
    return true; 
    } 
    else 
    { 
     return false; 
    } 
} 
} 

確認警報顯示有兩個按鈕:確定和取消。

我想在我的確認提示中顯示第三個按鈕。我希望這三個按鈕是這樣的:'是''不''取消',就像MS Word中顯示的一樣。

+0

很確定您沒有多少選項。另外,'不'與'取消'有什麼不同? – 2012-02-01 05:05:08

+1

@BrianDriscoll:OP可能想要爲「否」定義自定義邏輯。例如,用戶點擊「關閉」:對話框顯示「您想在離開前保存工作嗎?」是:保存並關閉,否:關閉而不保存,取消:保留工作。 – StriplingWarrior 2012-02-01 05:10:01

+0

@Brian Driscoll:StriplingWarrior是正確的,是意味着保存,不意味着不保存並轉到其他選項卡,取消意味着不保存,但保持在同一頁面 – Rocky 2012-02-01 05:13:50

回答

37

這不能用原生JavaScript對話框完成,但很多JavaScript庫包含更靈活的對話框。你可以使用類似jQuery UI's dialog框這樣的東西。

又見這些非常類似的問題:

下面是一個例子,這表現在this jsFiddle

<html><head> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.js"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js"></script> 
    <link rel="stylesheet" type="text/css" href="/css/normalize.css"> 
    <link rel="stylesheet" type="text/css" href="/css/result-light.css"> 
    <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/themes/base/jquery-ui.css"> 
</head> 
<body> 
    <a class="checked" href="http://www.google.com">Click here</a> 
    <script type="text/javascript"> 

     $(function() { 
      $('.checked').click(function(e) { 
       e.preventDefault(); 
       var dialog = $('<p>Are you sure?</p>').dialog({ 
        buttons: { 
         "Yes": function() {alert('you chose yes');}, 
         "No": function() {alert('you chose no');}, 
         "Cancel": function() { 
          alert('you chose cancel'); 
          dialog.dialog('close'); 
         } 
        } 
       }); 
      }); 
     }); 

    </script> 
</body><html> 
+0

I在jQuery中沒有知識,請給予更多演示文稿。表明我可以使用jquery,並可以替換我的代碼..請 – Rocky 2012-02-01 06:56:29

+0

@Rocky:如果我找時間了,我可以提供一個代碼示例,但jQuery和jQuery UI對話框的文檔都很清晰。查看我鏈接到的演示頁面的源代碼。使用Google查找教程。當我幾分鐘的工作會爲你節省數小時的努力時,我喜歡幫助,但我不會爲你做所有的工作。 – StriplingWarrior 2012-02-01 16:38:31

+0

@ StriplingWarrior:提供一點幫助和示例代碼對於我來說已經足夠了,如果我想到一些想法,就可以休息一下,並且非常感謝你的回覆和答覆。 – Rocky 2012-02-02 06:11:36

16

如果你不想使用單獨的JS天秤座ry爲此創建自定義控件,可以使用兩個confirm對話框來執行檢查:

if (confirm("Are you sure you want to quit?")) { 
    if (confirm("Save your work before leaving?")) { 
     // code here for save then leave (Yes) 
    } else { 
     //code here for no save but leave (No) 
    } 
} else { 
    //code here for don't leave (Cancel) 
} 
+2

我想一次顯示所有三個按鈕 – Rocky 2012-02-01 06:10:19

相關問題