2011-08-09 105 views
0

我在javscript中打開一個確認對話框是有和沒有選項,但我在打開確認對話框時遇到了一些問題。jquery確認窗口不工作取消按鈕點擊

function ConfirmDialog(obj, title, dialogText) { 
    if (!dialogConfirmed) { 
     $('body').append(String.Format("<div id='dialog' title='{0}'><p>{1}</p></div>", 
        title, dialogText)); 

     $('#dialog').dialog 
       ({ 
        height: 150, 
        modal: true, 
        resizable: false, 
        draggable: false, 

        close: function (event, ui) { $('body').find('#dialog').remove(); }, 
        buttons: 
        { 
         'Yes': function() { 
          $(this).dialog('close'); 
          dialogConfirmed = true; 
          GetRadWindow().close(); 
          if (obj) obj.click(); 
         }, 
         'No': function() { 
          $(this).dialog('close'); 
         } 
        } 
       }); 
    } 

    return dialogConfirmed; 
} 

這是我的aspx頁面

<script type="text/javascript" src="Scripts/jquery-1.4.2.min.js"></script> 
       <script type="text/javascript" src="Scripts/jquery-ui-1.8.2.custom.min.js"></script> 
       <script type="text/javascript" src="Scripts/jquery-1.4.1.js"></script> 

      <input id="Button2" type="button" value="Cancel" onclick="return ConfirmDialog(this, 'Confirmation', 'Are you sure want to close the window?');" /> 
+1

你能成爲一個更具體一點什麼「一些問題」是指? – Guffa

+0

你面臨的問題是什麼? – evasilchenko

+0

它沒有進入第5行的jquery代碼,當我試圖通過螢火蟲調試代碼時,流程只是在行號3結束 – mahesh

回答

2

會不會是你,包括你的1.4.1頁和1.4.2的jQuery的兩個版本的代碼?請改變它並看看。

也String.Format在JavaScript?是你寫的一些方法嗎?改爲使用sprintf

+0

即使在更改如你所建議的代碼 – mahesh

+0

+1:沒有正確檢查。你幾乎全都寫完了 – naveen

1

此代碼到達第3行,並在JavaScript內部看到String.Format並在那裏停止執行。

還有 jQuery/JavaScript中的String.Format。如果您對using String.Format in JavaScript特別感興趣,請自行創建一個。

String.prototype.format = function() { 
    var formatted = this; 
    for (var i = 0; i < arguments.length; i++) { 
     var regexp = new RegExp('\\{'+i+'\\}', 'gi'); 
     formatted = formatted.replace(regexp, arguments[i]); 
    } 
    return formatted; 
}; 

而且使用它像

$('body').append("<div id='dialog' title='{0}'><p>{1}</p></div>".format(title, dialogText));