2017-05-11 30 views
0

我有2页:A.htm和B.htm A调用B作为弹出窗口,然后在一些操作之后B必须调用A内的JavaScript,为此我使用了javascript :“揭幕战”。从呼叫者页面的弹出窗口执行javascript

,但我觉得我做了,因为,在弹出的一些错误,当我按一下按钮没有发生,这里的例子下载:http:\www.suale.it/prova/a.zip

这是这个a.htm

<html> 
<script language="javascript"> 


      function ricaricapagina() 
      { 
       var theform; 
       if 
       (
        window.navigator.appName.toLowerCase().indexOf("netscape") > -1) { 
        theform = document.forms["frmMain"]; 
       } 
       else 
       { 
        theform = document.frmMain; 
       } 

       //txtOperation.value=pOperation; 
       theform.submit(); 
      } 

      function SelectArticoli(pForm, txtOperation) 
      { 
       var sQueryString=new String; 
       var WinSettings = "center=yes,resizable=yes,scrollbars=yes,height=600,width=1000"; 
       sQueryString='B.htm'; 
       sQueryString += '?CallerForm=' + pForm; 
       sQueryString += '&CallerOperation=' + txtOperation; 
       sQueryString += '&CallerReload=1' ; 

        window.open(sQueryString, '', WinSettings); 
      } 

</script> 
<form name="frmMain" id="frmMain" action="A.htm" method="post"> 
<input name="txtOperation" type="hidden" id="txtOperation" /> 

<input name="cmdSelectArticoli" id="cmdSelectArticoli" onclick="javascript:SelectArticoli('frmMain', 'txtOperation');" type="button" value="Aggiungi Articoli..."> 

</form> 

</html> 

此的代码是B.htm

<html> 
<script language="javascript"> 

      function chiudipopup(pResult) 
      { 

       if (pResult==true) 
       { 

        window.opener.document.forms[frmMain].item(frmMain.txtCallerOperation.value).value = 'SelectArticoli';     


        if (frmMain.txtCallerReload.value != '') 
        { 
         window.opener.ricaricapagina(); 
        } 
       } 

       window.close(); 
      } 

    </script> 

</script> 
<form name="frmMain" method="post" id="frmMain"> 
    <input name="txtCallerOperation" type="hidden" id="txtCallerOperation" value="txtOperation" /> 

    <input type="submit" name="cmdConferma" onclick="javascript:chiudipopup(true);" value="conferma" id="cmdConferma" class="button" /> 

</form> 

</html> 

回答

0

可以尝试声明功能window.ricaricapagina =()函数的代码{...}

0

你有两个问题:

  1. [B.html] =>变化window.opener.document.forms[frmMain].item(frmMain.txtCallerOperation.value).valuewindow.opener.document.forms["frmMain"].elements["txtOperation"].value
  2. [B.html] =>window.opener.ricaricapagina();(我的工作就可以了:))