日期:2014-05-16  浏览次数:20430 次

jquery ui dialog里嵌套iframe打开其他dialog时,会刷新前一个dialog
如题,我要弹出一个新增用户的dialog界面,所以在弹出的dialog里面嵌套的iframe,表单里有几个必须填写的项,如果没有填写,将弹出一个消息提示的dialog,这两个dialog在同一个父页面中,因为如果把消息提示的dialog放到新增用户的dialog里面,则遮罩层不能覆盖全部的地方,所以放到了同一个父页面中,这样在新增用户的dialog里面调用父页面的消息提示dialog,可是一弹出消息提示的dialog,iframe就刷新了。求大神帮忙解答这到底是怎么回事。。。快弄死我了。。。
jQuery?UI dialog 刷新

------解决方案--------------------
贴代码。。。
------解决方案--------------------
引用:
贴代码。。。
只有引用。。
------解决方案--------------------
引用:
Quote: 引用:

贴代码。。。
只有引用。。

什么叫只有引用?
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

贴代码。。。
只有引用。。

什么叫只有引用?

------解决方案--------------------
按照楼主的描述试了下,并没有刷新,版本jquery-ui-1.8.21

楼主自己检查下父页msgDialog变量的作用域是否为全局的,msgDialog变量名是否拼错了,如果错误就会报错导致submit按钮提交了表单

test.html

<script>
    $(function () {

        window.frm = $("#dialog-modal").dialog({
            height: 140
        });
        window.msgDialog = $('#dvMsg').dialog({ autoOpen: false, height: 140, modal: true });
    });
</script>
<div id="dvMsg"></div>
<div id="dialog-modal">
<iframe src="c.html"></iframe></div>


c.html
<form><input type="submit" id="commit" value="commit" />
<script>
    var pWin = parent;
    document.write(new Date().toLocaleString())
    $(function () {
        $('#commit').click(function () {
            pWin.msgDialog.html("TEST不能为空!");
            pWin.msgDialog.dialog("open");    //打开的时候会刷新
            return false;
        });
    });
</script></form>