0

这里需要一点帮助。

我决定将我的一些 javascript 函数转移到一个 .js 文件中。这些功能在除 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。

4

2 回答 2

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>
于 2013-02-19T09:45:01.997 回答
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>
于 2013-02-18T10:36:16.367 回答