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