1

ポップアップを作成し、ポップアップ内に.aspxページをロードするjavascript関数があります。これが私のコードです:

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」ボタンを押す代わりに、「キャンセル」ボタンをクリックしたときにポップアップを閉じることです。(キャンセルボタンが押されたとき、「onClosed:」が私のflexigridを起動してリロードできるように、「X」ボタンを模倣する必要があります)何か提案はありますか?

4

2 に答える 2

1

クライアント側

  • window.close(); のjavascriptコードとして

編集:サーバー側

  • Page.RegisterStartupScript( "anykey"、 "window.close();");
于 2012-10-09T14:34:01.470 に答える
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

次に、キャンセルボタンの呼び出しをクリックすると

window.parent.theBox.close();

EDIT(OP):実際には:parent。$。fancybox.close();

于 2012-10-09T15:00:34.890 に答える