0

ここで少し助けが必要です。

javascript関数の一部を1つの.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'**

しかし、私のコードをチェックすることは「フォーマット」を使用しません。エラーについて何か考えはありますか?ワークステーションでEI9を使用しています。

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

私は同じコードを書きましたが、うまく動作しています。ぜひ一度お試しください。ありがとう。

<%@ 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 に答える