Coldfusion—使用javascript通过电子邮件发送cfdocument和打印到屏幕—don';我们不能一起工作

Coldfusion—使用javascript通过电子邮件发送cfdocument和打印到屏幕—don';我们不能一起工作,javascript,coldfusion,cfdocument,Javascript,Coldfusion,Cfdocument,我正在一个coldfusion网站上工作,试图修复一个bug。到目前为止,我已经尝试了很多方法,所以这里是StackOverflow 有问题的网站需要能够通过电子邮件发送pdf,并且需要另一个功能将pdf打印给用户,以便在浏览器(另一个窗口)中预览。我发现无论我做什么,这些功能都不会同时工作 以下是发送电子邮件的代码(coldfusion和JavaScript): 该文档使用以下cfm文件生成: 代码为打印和电子邮件功能调用相同的函数(orderprovalpdf.cfm)。以下是调用打印的

我正在一个coldfusion网站上工作,试图修复一个bug。到目前为止,我已经尝试了很多方法,所以这里是StackOverflow

有问题的网站需要能够通过电子邮件发送pdf,并且需要另一个功能将pdf打印给用户,以便在浏览器(另一个窗口)中预览。我发现无论我做什么,这些功能都不会同时工作

以下是发送电子邮件的代码(coldfusion和JavaScript):

该文档使用以下cfm文件生成:

代码为打印和电子邮件功能调用相同的函数(orderprovalpdf.cfm)。以下是调用打印的javascript:

form = document[this._PARENT.NAME+"MANAGEFORM"];
sel = ColdFusion.getElementValue(this._PARENT.NAME+"FORMSELECT");

switch(sel){

     case 'APPROVAL' :
         window.open('Pdf/orderApprovalPdf.cfm?PRODUCTORDERID=' + form.productOrderID.value);   
     break;
      case 'SHIPDATECONFIRMATION' :
        window.open('Pdf/vikingEstShipDatePdf.cfm?PRODUCTORDERID=' + form.productOrderID.value);    
     break;
     case 'BOL' :
        window.open('Pdf/billOfLadingPdf.cfm?PRODUCTORDERID=' + form.productOrderID.value); 
     break;
      case 'INVOICE' :
        window.open('Pdf/invoicePdf.cfm?INVOICEID=' + form.invoiceID.value);    
     break;
      case 'INVOICECANADA' :
        window.open('Pdf/invoicePdfCanada.cfm?INVOICEID=' + form.invoiceID.value);  
     break;

}
我尝试了以下所有方法:

用于打印功能的第二个.cfm文件从
printForm
调用–不同的cfm名称、不同的cfm文件目录、不同的临时文件路径,不同的临时文件名–电子邮件将中断,除非以下粗体字与原始pdf函数名匹配,尽管它位于
printForm
函数中,而不是
emailForm
函数中,并且不会出现在其他位置

 case 'APPROVAL' :
 window.open('Pdf/orderApprovalPdf.cfm?PRODUCTORDERID=' + form.productOrderID.value);
cfdocument
属性文件名的替代项:saveasname,name(从
manageOrder.cfc
中调用,作为变量,如#myPdf#,当该变量是
cfdocument
的name变量时–此错误表示myPdf变量不存在,无论我如何调用它)

关闭
标记后,将电子邮件功能从
manageOrder.cfc
移动到
orderprovalpdf(cfm)
文件–但程序从未点击此代码

有什么想法吗?可能是
cfdocument
的替代方案?我尝试了两个单独的cfm文件,它看起来像是
窗口。open
函数不允许这种解决方法

   <cfdocument name=”myPdf” >
   <cfmailparam file = “#GetTempDirectory()#Approval_#getApprovalInfoProcResult.ORDERNUMBER#.pdf" type=”application/pdf” content=”#myPdf” />
   <cfcontent variable="#myPdf#" type="application/pdf" reset="Yes">
 <cfheader name="Content-Disposition" value="attachment; filename=#GetTempDirectory()#Approval_#getApprovalInfoProcResult.ORDERNUMBER#.pdf" />