如何在弹出窗口关闭时打开弹出窗口并刷新打开它的页面?

时间:2011-09-18 18:14:30

标签: javascript jquery

我正在使用最新最好的jQuery版本。

单击此按钮时:

<input id="ShowImages" class="" type="button" value="images">

此功能:

$("#ShowImages").click(function() {
    $("#MusicianImagesDiv").load("MusicianImages.cfm?MusicianID="+MusicianID);
});

将页面加载到此div中:

<div id="MusicianImagesDiv" class=""></div>

在该div中,单击此按钮时:

<input id="MusicianImageUploader" type="button" value="launch image uploader">

此功能会弹出一个窗口:

$("#MusicianImageUploader").click(function() {
    MyURL = "GlobalAdmin/MusicianUploader.cfm?MusicianID=" + MusicianID;
    window.open (MyURL, "mywindow","location=0");
});

按下弹出窗口中的“关闭窗口”按钮时:

<input id="CloseButton" type="button" value="close this window">

我想重新加载一个SPECIFIC DIV //而不是父页面

$('#CloseButton').click(function() {
    // to be clear, this code is in the pop up window
    // the MusicianImagesDiv div is in the parent window
    $("#MusicianImagesDiv").load("MusicianImages.cfm?MusicianID="+MusicianID);
});

然后关闭弹出窗口。

除了在点击关闭按钮时重新加载div时,一切都很完美。

我做错了什么?为什么关闭按钮不会重新加载div?

这是经过调整的代码,可以完美运行!!!

$('#CloseButton').click(function() {
    var MusicianID = $("#MusicianID").val();
    var LoadPage = "GlobalAdmin/MusicianImages.cfm?MusicianID=" + MusicianID;
    window.opener.$("#MusicianImagesDiv").load(LoadPage);
    window.close();
});

2 个答案:

答案 0 :(得分:1)

您是否尝试过访问window.opener?这使您可以访问父窗口。所以粗略的代码是

$('#CloseButton').click(function() {
    window.opener.$("#MusicianImagesDiv")
                 .load("MusicianImages.cfm? MusicianID="+MusicianID);
});

答案 1 :(得分:0)

它不起作用 - 因为#closebutton位于不同的窗口/ html页面 - 为什么它需要是一个打开的新窗口 - 为什么你不能使用JQueryUI对话框?这样一切都在同一页面,事件将被处理