我需要的是一个cfselect绑定到一个列出文件类型的查询,一个列出保存文件的cfdiv,一个扫描图像保存为pdf文件的按钮,其名称前缀为输入值字段。
简单页面。
<cfselect name="DocType" id="DocType" class="selectClass" query="qGetDocTypes" display="name" value="DocTypeID">
<input name="ScanDocument" id="ScanDocument" type="text" value="" class="ScanDocument">
<cfdiv id="handler_#docAreaID#" bind="url:#request.controlurl#documentHandler/?docareaID=#docareaID#&variableID=#variableID#&Fav=#attributes.Fav#&userid=#attributes.userid#&showform=1&ScannedDocument={ScanDocument@change}">
// remove blanks from text
ScanDoc1 = $('input.scandocument').val();
ScanDoc = ScanDoc1.replace(/\s/g, '');
<cfoutput>
ColdFusion.navigate('url:#request.controlurl#documentHandler/?docareaID=#docareaID#&variableID=#variableID#&Fav=#attributes.Fav#&userid=#attributes.userid#&showform=1&ScannedDocument='+ScanDoc);
</cfoutput>
coldFusion.Navigate不会刷新CFdiv,它还会触发我用于主表单操作的onBrowseAway事件。我可以通过手动更改输入的值来模拟div刷新,但是在我让它工作后它将被隐藏。
答案 0 :(得分:1)
$('input.ScanDocument').trigger('Change');
如果我猜,我会说首都“C”就是问题所在。 JavaScript区分大小写。
答案 1 :(得分:1)
让我先说明我之前没有使用过ColdFusion.navigate
功能,但根据documentation here,该功能需要是一个链接目标。它必须位于href
标记的a
部分。查看我引用的文档页面上的示例。因此,请尝试将代码添加到a
标记中,如下所示:
<cfoutput>
<a href="javascript:ColdFusion.navigate('#request.controlurl#documentHandler/?docareaID=#docareaID#&variableID=#variableID#&Fav=#attributes.Fav#&userid=#attributes.userid#&showform=1&ScannedDocument='+ScanDoc,'handler_#docAreaID#');">click here</a>
</cfoutput>
请注意,我从您的代码中删除了url:
文本。这似乎没有必要。
看起来好像缺少函数的container
参数。该文档指出,如果您缺少此参数,该链接将被视为普通URL,并且将刷新整个页面。 (虽然你的代码不是链接?)
另外,我不确定你是否可以像你一样在函数的URL中引用ColdFusion变量。那些是服务器端,这个功能是客户端(javascript)。就像我说的那样,我之前从未使用过这个,但在阅读完文档之后,这些都是我的想法。