以下是调用Dialog的js代码,是原来别人做的工程,现在让我来改,其中window.parent.location   = "NST040.aspx? ";应该是导致父页面刷新的原因,但是我不太清楚这句话的含义,不敢轻易删去,请问这句话的意义有没有朋友帮我分析一下,我需要实现在不影响功能的情况下不刷新父页面,因为父页面有用户填写的一些信息,刷新后用户要发火-_-! 
var   sRandom   =   Math.random(); 
var   returnValue=window.showModalDialog( "NST0401.aspx?liNO= "   +   liNO   +   "&lsID= "   +   lsID   +   "&Random= "   +   sRandom,null, 'dialogWidth:760px;dialogHeight:390px ');   
if   (typeof(returnValue)   !=   "undefined "&&returnValue   != " ") 

window.parent.location   = "NST040.aspx? "; 
}

解决方案 »

  1.   

    如果NST0401.aspx页面对父页面(NST040.aspx)的数据有影响,就不能删
      

  2.   

    var returnValue是对话窗口关闭后返回父窗口的数据,如果返回有值,父窗口跳转到NST040.aspx;你肯定用的是FRAME框架,window.parent.location = "NST040.aspx? ";  的意思是刷新整个主页面【即各个FRAME】,然后让用户看到整个主页更新后的东西!这个代码功能正好跟你的需求相反!个人觉得原来功能比较好,简易LZ重新审视一下新需求。
      

  3.   

    子页面调用父页面方法,数据传过去不就行了。和一个页面差不多window.dialogArguments.fun(var);
      

  4.   

    window.showModalDialog把 window对象做参数传过去,再去拿子窗口的返回值。var selFile = null;
    bookSelect=function(){
    selFile = null;
    window.showModalDialog("InitKennsakuBunnsixyoGSDAZ040",
    window,
    'dialogWidth:750px;dialogHeight:500px;status:no;scroll:no;');
    if(selFile != null && selFile.reflag == "selected"){ }
    };子窗口:
    window.dialogArguments.selFile  就可以给这个对象赋值。  可以是JSON  字符串  数组  都可以。