CFWINDOW - 以CF形式提交表格以留在CFWindow内

时间:2016-03-21 16:35:01

标签: coldfusion cfwindow

我有一个包含这个基本过程的页面:

  • 点击要下载的表单旁边的复选框
  • 点击提交
  • CFWindow弹出来收集一些基本信息
  • 点击提交以在CFWindow打开的窗口中下载表格

当您单击CFWindow内的提交按钮时,它会将您带回到父页面。我希望表单提交保留在CFWindow中。我看到这篇文章:Refresh cfwindow content。但是,refreshOnShow = "true"不起作用。每次我点击提交,它都会返回到父窗口。

这是父页面:

<cfform name="myform">
   <cfinput type="hidden" name="OrgID" value="#getit.orgID#">
   <table width="95%" border="0" cellspacing="5" cellpadding="0" align="center">
      <tr>
         <td width="50%" valign="top" class="coretextforBR">
            <cfinput type="checkbox" name="GetThese" value="#form_ID#">
            <a class="corelinkforBR">#Forms_Name#</a>
            <br /><br />
            #Forms_Description#
            <br /><br />
         </td>
      </tr>
      <tr>
         <td width="50%" valign="top" class="coretextforBR">
            <cfinput type="checkbox" name="GetThese" value="#form_ID#">
            <a class="corelinkforBR">#Forms_Name#</a>
            <br /><br />
            #Forms_Description#
            <br /><br />
         </td>
      </tr>
      <tr>
         <td width="50%" valign="top" class="coretextforBR">
            <cfinput type="checkbox" name="GetThese" value="#form_ID#">
            <a class="corelinkforBR">#Forms_Name#</a>
            <br /><br />
            #Forms_Description#
            <br /><br />
         </td>
      </tr>
      <tr>
         <td colspan="2">
            <input type="submit"value="Get It" onclick="javascript:ColdFusion.Window.show('mywindow1')">
         </td>
      </tr>
   </table>
</cfform>   

     <cfwindow x="250" y="250" width="400" height="400" 
        name="mywindow1" title="Almost ready to download" initshow="false" draggable="false" resizable="false" 
        refreshOnShow="true" source="submitform.cfm?GetThese={myform:GetThese.value}&OrgID={myform:OrgID}&action=information" 
        bodystyle="background-color: white;" headerStyle="background-color: ###getcss.color#; font-family: #getcss.font#; color: ###getcss.fontcolor#;" /> 

以下是CFWwindow的来源(submit.cfm):

<cfparam name="attributes.action" default="information">
<cfoutput>
   <html>
   <head>
      <style type="text/css">
      </style>
   </head>
   <body>
      This window will collect information to begin download
      <br>
      <!--- action for downloading --->
      <cfif attributes.action eq "download">
         <cfloop info and stuff left out>
            <a href="./log_download.cfm?filename=#Forms_File#&OrgID=#UrlEncodedFormat( '#Forms_OrgID#' )#" class="corelinkforBR">#Forms_Name#</a><br />
         </cfloop>
      <!--- what you see when page initially loads --->
      <cfelse>
            <form action="submitform.cfm?action=download" method="post">
               <input type="hidden" name="GetThese" value="#attributes.GetThese#">
               <input type="hidden" name="OrgID" value="#attributes.OrgID#">
               <table width="95%" border="0" align="center">
                  <tr>
                     <td class="coretextforBR">First:</td>
                     <td><input type="text" name="CollectedInfo_First"></td>
                  </tr>
                  <tr>
                     <td class="coretextforBR">Last:</td>
                     <td><input type="text" name="CollectedInfo_Last"></td>
                  </tr>
                  <tr>
                     <td class="coretextforBR">Phone:</td>
                     <td><input type="text" name="CollectedInfo_Phone"></td>
                  </tr>
                  <tr>
                     <td class="coretextforBR">Email:</td>
                     <td><input type="text" name="CollectedInfo_Email"></td>
                  </tr>
                  <tr>
                     <td class="coretextforBR">Best way <br> to contact:</td>
                     <td><input type="text" name="CollectedInfo_BestWay"></td>
                  </tr>
                  <tr>
                     <td colspan="2"><input type="submit" value="Download" class="button one"></td>
                  </tr>
               </table>
            </form>
      </cfif>
</cfoutput>
</body>
</html>

我不知道我做错了什么。除了refreshOnShow之外,我找不到问题的明确答案。我应该重新考虑并做一个ajax提交吗?

1 个答案:

答案 0 :(得分:0)

Using <cfform> instead of normal <form> worked as Liegh suggested.