0

我有一个 jsp 文件,它调用另一个 jsp 文件,将其作为显示模式对话框窗口打开。

假设file1.jsp 通过file1.js 调用file2.jsp。

File1.jsp-->File1.js(各js文件) File2.jsp-->File2.js(各js文件)

现在要在 File2.jsp 中处理 onclose,我在 File2.js 中添加了一个函数。

当我点击关闭窗口但选择选项作为取消时,而不是只显示旧窗口。它在现有模态窗口的顶部显示一个模态窗口。为什么会这样。我是否遗漏了一些明显的东西。

我期望发生的事情:当我选择关闭但单击取消时,什么都不会发生。

File2.js 函数:

function handleOnClose() {

    var resultsDoc = document.frames('searchBuffer').document;

    if (event.clientY < 0) {
        var bool = confirm('Are you sure you want to close the window ?');
        if (!bool) { //Issue occurs here
            window.showModalDialog("File2.jsp", "", "dialogWidth:1000px;dialogHeight:650px");
        }
        else {
            resultsDoc.all('searchResults').innerText = '';

            document.someSearch.submit();
        }
    }

    window.returnValue = 'Discard';

}
4

1 回答 1

0

修改 File2.js 函数:

function handleOnClose() {

    var resultsDoc = document.frames('searchBuffer').document;

    if (event.clientY < 0) {
        var bool = confirm('Are you sure you want to close the window ?');
        if (!bool) { //Issue occurs here
            //*******removed the showmodal dialog window call
              window.returnValue = 'Sorry';
        }
        else {
            resultsDoc.all('searchResults').innerText = '';

            document.someSearch.submit();
    window.returnValue = 'Discard';
        }
    }

}

在调用 js (file1.js) 上,我检查返回值是否为“丢弃”,如果是,我刷新页面。否则我再次调用显示模式窗口。我的结果存储在缓冲区中,因此检索不是问题。奇迹般有效

于 2012-10-08T00:42:26.943 回答