2013-02-18 33 views
0

這裏需要一點幫助。IE 9 - 對象不支持屬性或方法'格式'

我決定在一個.js文件中傳輸我的一些javascript函數。這些功能在其他瀏覽器中正常工作除了IE瀏覽器。

注:下面 代碼是存儲在單獨的js文件 「my_js.js

var dialogConfirmed = false; 

function DialogConfirmation(obj, title, dialogText) { 
    if (!dialogConfirmed) { 
     $('body').append("<div id='dialog' title='" + title + "'>'" + dialogText + "'</div>");    
     $('#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; 
        if (obj) obj.click(); 
       }, 
       'No': function() { 
        $(this).dialog('close'); 
       } 
      } 
     }); 
    } 

    return dialogConfirmed; 
} 

使用

<asp:Button ID="btnAlert" runat="server" Text="Alert" OnClientClick="return DialogConfirmation(this, 'Popup Header', 'Popup Body Message');" onclick="btnAlert_Click" /> 

當點擊它拋出的按鈕和錯誤指向方法「格式

**Microsoft JScript runtime error: Object doesn't support property or method 'Format'** 

但是檢查我的代碼不使用'格式'。有關錯誤的任何想法?我在我的工作站上使用EI 9。

+2

它究竟在哪裏拋出錯誤?你有沒有設置一個斷點並通過? – 2013-02-18 08:26:16

+0

你有兩個'onclicks'。 – Jai 2013-02-18 08:29:53

+0

此處發生錯誤。 ** $('body')。append(「

'" + dialogText + "'
」); ** – klaydze 2013-02-18 08:59:05

回答

0

我寫了相同的代碼和itz工作正常。請嘗試一次。謝謝。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication8.WebForm1" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script src="Scripts/jquery-1.9.1.js" type="text/javascript"></script> 
    <script src="Scripts/jquery-ui-1.10.1.custom.js" type="text/javascript"></script> 
    <script type="text/javascript"> 

     var dialogConfirmed = false; 

     function DialogConfirmation(obj, title, dialogText) { 
      if (!dialogConfirmed) { 
       $('body').append("<div id='dialog' title='" + title + "'>'" + dialogText + "'</div>"); 
       $('#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; 
        if (obj) obj.click(); 
       }, 
       'No': function() { 
        $(this).dialog('close'); 
       } 
      } 
     }); 
      } 
      return dialogConfirmed; 
     } 

    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Button ID="btnAlert" runat="server" Text="Alert" OnClientClick="javascript:return DialogConfirmation(this, 'Popup Header', 'Popup Body Message');" /> 
    </div> 
    </form> 
</body> 
</html> 
+0

是的,當你把它放在一個單獨的頁面中時就像你所做的一樣,但我的目標是將我的一些函數放在一個.js文件中。嘗試創建一個.js文件,然後複製粘貼我的代碼然後嘗試使用它。它會在** $('body')中產生錯誤。append(「

'" + dialogText + "'
」); $('#dialog')。dialog ** – klaydze 2013-02-18 13:02:20

0

我已經動了你的Javascript代碼單獨的文件和一切工作正常在IE 9或許你已經錯過了在代碼中jQuery的ui.js文件的添加。請參閱下面的工作代碼。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication8.WebForm1" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script src="Scripts/jquery-1.9.1.js" type="text/javascript"></script> 
    <script src="Scripts/jquery-ui-1.10.1.custom.js" type="text/javascript"></script> 
    <script src="Scripts/my_js.js" type="text/javascript"></script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Button ID="btnAlert" runat="server" Text="Alert" OnClientClick="javascript:return DialogConfirmation(this, 'Popup Header', 'Popup Body Message');" /> 
    </div> 
    </form> 
</body> 
</html> 
+0

嗨skumar, 我有所有需要的js和css來正確運行jquery。其實我已經在一個小時之前通過清除瀏覽器(IE)的緩存來解決這個問題。 :) – klaydze 2013-02-20 00:56:51

相關問題