1

我有父页面和一个子页面('empW.cfm'),它只是父页面上一个表单字段上的一个弹出窗口。我<cfform>在父页面中使用。我想将此子页面弹出窗口中的数据填充到父页面中的相关表单字段。尝试了所有方法,但直到现在都没有成功。

父页面:-

<script type="text/javascript" src="test.js" >

    function doSubmit() {
      var Emp = document.getElementById("emp");
      var getName = document.getElementById("getName");
      Emp.value = getName.value;
                }
           </script> 
</head>
<body>
<cfajaximport tags="cfform,cfwindow">
<cfform action="Action.cfm" name="formE" id="formE" preserveData="true"  enctype="multipart/form-data" method="post" onsubmit="return validate(document.formE);"  >  
 <table >
    <tbody>    
            <tr><td  > Name*: </td><td><cfinput name="Name" id="Name"  type="text"  ></td></tr>          

             <tr><td > EMP:</td>

     <td><input name="searchName" id="emp"   onClick="createWindow('empW.cfm')"></td>
    </tr>  
   </tbody>
 </table>
</cfform>

子/窗口页面:-

<!--- empW.cfm --->
<cfform name="formI" id="formI" preserveData="false" method="post">
 <table>
 <tr><td>
  <cfif isdefined('form.getName')>
   <cfoutput>Selected = #form.getName#!</cfoutput>
  <cfelse>
   Selected =
  </cfif>
 </td></tr>
 <tr>
  <input name="getName" id="getName" type="text" value="Find emp name" >
  <input name="Add" id="getName" type="submit" onChange="doSubmit();">
 </td></tr>
 </table>
</cfform>

请帮忙。

4

1 回答 1

3

您的主页代码:

<td><input name="searchName" id="emp" onclick="ColdFusion.Window.create('w1','Title','empW.cfm')"></td>

empW.cfm 页面代码:

<input name="Add" id="getName" type="button" value="submit" onclick="document.getElementById('emp').value=document.getElementById('getName').value;">

还要从父页面的脚本代码中删除src属性。

在 empW.cfm 页面中,onChange()永远不会调用提交按钮,因为submit()事件将首先被调用,因此您丢失了onChange()事件。

于 2010-09-29T11:32:34.743 回答