解决方案 »

  1.   

    我把一些Javascript的代码贴出来你看看var pWin = window.parent;
       var pDoc = window.parent.document;
       var frameId = pWin.frameId;
       var userWin = pDoc.getElementById(frameId).contentWindow.document.getElementById("userListFrame").contentWindow;
       var userDoc = userWin.document;
       var addUserMsgDialog = $("#addUserMsgDialog").dialog({
       autoOpen: false,
       modal: true,
       width: 200,
       height: 150,
       buttons: {
       "确定": function() {
       $(this).dialog("close");
       }
       }
       });
       $(function() {
       $(".date").datepicker({
       dateFormat: "yy-mm-dd"
       });
       $(".necessary").each(function() {
       var preTag = $(this).parent().prev();
    var preTagText = preTag.html();
    preTag.html("");
    var newPreTagText = "<font color='red'>"+preTagText+"</font>";
    preTag.html(newPreTagText);
    });
       $(".buttons").button();
      
       /**
        * 保存人员的事件
        */
       $("#commit").click(function() {
      
       /**
        * 判断必填项是否为空
        */
       var cross = true;
       $(".necessary").each(function() {
       var val = $(this).val();
       if(!val && !$.trim(val)) {
       var textArr = $(this).parent().prev().html().split(":");
       var text = textArr[0];
       //addUserMsgDialog.html(text+"不能为空!");
       //addUserMsgDialog.dialog("open");
       pWin.msgDialog.html(text+"不能为空!");
       pWin.msgDialog.dialog("open"); //打开的时候会刷新
       cross = false;
       return false;
       }
       });
       if(cross == false) {
       return false;
       }
      
       $.ajax({
       url: getRoot() + "user/addUser.action",
       data: $("#userform").serialize(),
       type: "post",
       success: function(data) {
       var json = eval("("+data+")");
       if(json.success) {
       userWin.location.href = userWin.location.href;
       pWin.msgDialog.html("新增用户成功!");
       pWin.msgDialog.dialog("open");
       pWin.userDialog.dialog("close");
       } else {
       addUserMsgDialog.html("新增用户失败!");
       addUserMsgDialog.dialog("open");
       return false;
       }
       },
       error: function() {
       addUserMsgDialog.html("系统繁忙,请联系管理员...");
    addUserMsgDialog.dialog("open");
    return false;
       }
       });
       return false;
       });
       });
      

  2.   

    按照楼主的描述试了下,并没有刷新,版本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>
      

  3.   

    这是一个bug,已经提出来了。
    http://bugs.jqueryui.com/ticket/9166
    原因是方法【_moveToTop】有点问题。
    解决办法是参照这里面先自己修,或者等更新。