对话框模式关闭

时间:2016-01-06 05:37:14

标签: javascript jquery html iframe

我是Jquery Dialogs和Iframes的新手,我只想询问当对话模式关闭时是否可以刷新静态Iframe。

继承静态iframe:     

                    <iframe id="frameUserInfo" src="/User/UserInfo" style="border: none; width: 100%;
                        min-height: 220px;"></iframe>
                </div>

这是我的Jquery对话

$("#dialogAddPhone").dialog({
            autoOpen: false,
            resizable: false,
            modal: true,
            width: 700,
            height: 700,
            position: ['center', 40],
            close: function (event, ui) {
                $('#dialogAddPhone').attr('src', '');
            }
        });

我尝试添加此$('#frameUserInfo').reload(true);,但它无效

只是想给你一张更好的照片,在我的父窗口中,有一个静态的iframe,其中包含一个打开$("#dialogAddPhone")按钮的按钮,/User/UserInfo正在调用点击事件

这个位于父窗口中:

<div id="dialogAddPhone" title="Document Upload" style="overflow-y: hidden;">
    <iframe id="myIframeAddPhone" src="" style="border: none; width: 100%; height: 100%;">
    </iframe>
</div>

然后,这是User/UserInfo

中静态IFrame中的公开事件
loadIframe('myIframeAddPhone', href);
 parent.$("#dialogAddPhone").dialog("open");
 return false;

然后在关闭对话框后,它应该仅刷新frameUserInfo

的Iframe

谢谢! :)

2 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

第一种方法

$("#dialogAddPhone").dialog({
        autoOpen: false,
        resizable: false,
        modal: true,
        width: 700,
        height: 700,
        position: ['center', 40],
        close: function (event, ui) {
            $('#dialogAddPhone').attr('src', '');
            document.getElementById('frameUserInfo').contentWindow.location.reload(); //Reloads the Iframe
        }
    });

第二种方法

再次设置iframe的来源。它会刷新iframe。

$("#dialogAddPhone").dialog({
    autoOpen: false,
    resizable: false,
    modal: true,
    width: 700,
    height: 700,
    position: ['center', 40],
    close: function (event, ui) {
        $('#dialogAddPhone').attr('src', '');
        var iframe = document.getElementById('frameUserInfo');
        iframe.src = iframe.src;//Reloads the Iframe
    }
});

第一种方法在Chrome中不起作用,因为没有contentWindow属性。所以你应该采用第二种方法。

这是使用第二种方法的Demo

答案 1 :(得分:0)

试试这个:

$( '#frameUserInfo' ).attr( 'src', function ( i, val ) { return val; });

链接:https://stackoverflow.com/a/4249946/2848607