1

我有一个 javascript 函数,它制作一个弹出窗口并在弹出窗口中加载一个 .aspx 页面。这是我的代码:

function moveEvent(doTheMove) {
        var selectedNotesList = getSelectedNoteIDs();
        if (doTheMove) {
            $.fancybox({
                'autoScale': false,
                'type': 'iframe',
                'height': 225,
                'width': 800,
                'href': 'Utilities/MoveFileTemplate.aspx?eventID=' + selectedNotesList +
                '&oldEventCaseFile=' + $('#hidCaseFile').val(),
                onComplete: function () {
                    $('#fancybox-overlay').unbind();
                },
                onClosed: function () {
                    $("#viewNotesGrid").flexReload();
                }
            });
        }
        else
            showMessage("No expenses are selected.");
    }

在我的 .aspx 页面中,我有 3 个单选按钮、一个 DropDownList 和 2 个按钮。我要做的是在用户单击“取消”按钮时关闭弹出窗口,而不必按右上角的“X”按钮。(当取消按钮被按下时,它必须模仿“X”按钮,以便“onClosed:”可以触发并重新加载我的flexigrid)有什么建议吗?

4

2 回答 2

1

你可以试试

var theBox;
...
function moveEvent(doTheMove) {
...
   theBox = $.fancybox({
      'autoScale': false,
      'type': 'iframe',
      'height': 225,
      'width': 800,
      'href': 'Utilities/MoveFileTemplate.aspx?eventID=' + selectedNotesList +
            '&oldEventCaseFile=' + $('#hidCaseFile').val(),
      onComplete: function () {
         $('#fancybox-overlay').unbind();
      },
      onClosed: function () {
         $("#viewNotesGrid").flexReload();
      }
   });
...
} //close the moveEvent function

然后在你的取消按钮调用的onclick上

window.parent.theBox.close();

编辑(OP):实际上是: parent.$.fancybox.close();

于 2012-10-09T15:00:34.890 回答
1

客户端

  • 窗口.close(); 作为 javascript 代码

编辑:服务器端

  • Page.RegisterStartupScript("anykey","window.close();");
于 2012-10-09T14:34:01.470 回答