我在A页面用window.showModalDialog打开B页面,当关闭B页面的时候可以返回你定制的值,然后根据返回值修改A页面的值。现在我想在B页面点击保存按钮,然后直接修改A页面的值,而并不关闭B页面。请问这个如何操作JS?

解决方案 »

  1.   

    你打开B页面的时候A页面处于中断状态,你中途去修改A页面的值貌似不行
    而且也没有任何意思,既然A页面处于中断状态为什么要中途修改呢?最后关闭的时候修改不一样吗?
      

  2.   

    这是一个数据多次传输的问题,在B页面确认&关闭只能修改一次,而业务要求确认的时候修改A页面List,再确认的时候叠加list。避免每次只能做一个操作。
      

  3.   

    showModalDialog的时候
    r = showModalDialog("",self,""); 直接传A窗口的引用
    B中
    win = window.dialogArguments; <--取得A窗口的引用
    win.document.forms[0].xxx.value = "";
      

  4.   

    这个可以  我刚测试过了<HTML>
    <HEAD>
    <TITLE>showModelessDialogEX.htm</TITLE>
    <SCRIPT>
    var sUserName="";function fnCallDialog(){
    showModelessDialog("myDialog.htm",window,"status:false;dialogWidth:300px;dialogHeight:300px");
    }function fnUpdate(){
    oName.innerText = sUserName;
    }
    </SCRIPT>
    </HEAD><BODY>
    <P>Enter your first name:
     <SPAN ID="oName" STYLE="color:red;font-size:24">Joan</SPAN></P>
    <INPUT TYPE="button" 
    VALUE="Display Modeless Dialog" onclick="fnCallDialog()">
    </BODY>
    </HTML> 另一个文件"myDialog.htm".
    <HTML> 
    <HEAD>
    <TITLE>myDialog.htm</TITLE>
    <SCRIPT> 
    function fnGetInfo() { 
    var sData = dialogArguments; 
    sData.sUserName = oEnterName.value; 
    sData.fnUpdate(); 
    }
    function fnCancel() { 
    var sData = dialogArguments; 
    sData.sUserName = "Joan"; 
    sData.fnUpdate(); 
    }
    </SCRIPT>
    </HEAD> 
    <BODY>
    <LABEL FOR="oEnterName" ACCESSKEY="f">
    Enter your <SPAN STYLE="text-decoration:underline">F</SPAN>irst Name</LABEL>
    <INPUT ID=oEnterName><BR><BR>
    <INPUT VALUE="Apply" TYPE=button onclick="fnGetInfo();"> 
    <INPUT VALUE="Ok" TYPE=button onclick="fnGetInfo();window.close();"> 
    <INPUT VALUE="Cancel" TYPE=button onclick="fnCancel();window.close();"> 
    </BODY> 
    </HTML>