1

我在 RadPageView 内的页面上有一个 RadTextBox,定义为:

<telerik:RadTextBox ID="txtReport" TextMode="MultiLine" Height="500"
    ClientEvents-OnKeyPress="Report_KeyPress">
</telerik:RadTextBox>

在按键时,它会跟踪它在 JavaScript 中的变化,例如:

function Report_KeyPress(sender, e) {
    if (_changed == false) {
        _changed = true;
    }
}

在卸载之前,我尝试将消息返回为:

window.onbeforeunload = function (e) {
    if (!!_changed == true) {
        var e = e || window.event;
        var msg = 'Changes have been made.  Are you sure you want to discard these changes?';

        if (e) {
            e.returnValue = msg;
        }
        else {
            return msg;
        }
    }
}

在 Windows 7 上的 IE 9 中显示带有消息的确认提示,以及离开页面或停留在页面上的按钮。当我点击离开页面时,效果很好;当我单击留在页面上时,它会在以下行中爆炸:

function __doPostBack(eventTarget, eventArgument) {
  theForm.submit(); //Error line
}

出现错误:

page.aspx 中第 33 行第 9 列的未处理异常

0x80004005 - Microsoft JScript 运行时错误:未指定的错误。

知道为什么会这样吗?

4

1 回答 1

2

虽然这是一个旧链接,但这对我有帮助:http: //tinisles.blogspot.ro/2005/10/onbeforeunload-throwing-errors-in-ie.html

虽然没有解释这个问题,但它似乎是一个已知的 IE 问题。

于 2013-10-17T11:36:22.087 回答