jquery cfml触发器('更改')无效

时间:2013-01-05 17:17:03

标签: jquery coldfusion

我需要的是一个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刷新,但是在我让它工作后它将被隐藏。

2 个答案:

答案 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)。就像我说的那样,我之前从未使用过这个,但在阅读完文档之后,这些都是我的想法。