IE 9 - 对象不支持属性或方法'Format'

时间:2013-02-18 08:18:05

标签: javascript jquery asp.net

需要一点帮助。

我决定将一些javascript函数转移到一个.js文件中。这些功能在其他浏览器EXCEPT 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 个答案:

答案 0 :(得分:0)

我写了相同的代码并且工作正常。请尝试一次。感谢。

<%@ 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>

答案 1 :(得分: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>