jquery cfml触发器(';change';)不工作
我需要的是一个绑定到列出文件类型的查询的cfselect、一个列出已保存文件的cfdiv,以及一个扫描要保存为pdf文件的图像的按钮,该图像的名称前缀为输入字段的值 简单页面jquery cfml触发器(';change';)不工作,jquery,coldfusion,Jquery,Coldfusion,我需要的是一个绑定到列出文件类型的查询的cfselect、一个列出已保存文件的cfdiv,以及一个扫描要保存为pdf文件的图像的按钮,该图像的名称前缀为输入字段的值 简单页面 <cfselect name="DocType" id="DocType" class="selectClass" query="qGetDocTypes" display="name" value="DocTypeID"> <input name="ScanDocument" id="ScanDocum
<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>
//删除文本中的空格
ScanDoc1=$('input.scandocument').val();
ScanDoc=ScanDoc1.替换(/\s/g',);
ColdFusion.navigate('url:#request.controlurl#documentHandler/?docareaID=#docareaID#&variableID=#variableID#&Fav=#attributes.Fav#&userid=#attributes.userid#&showform=1&ScannedDocument=#+ScanDoc));
Navigate不会刷新CFdiv,它还会为我用于主窗体操作的OnBrowseWay触发一个事件。我可以通过手动更改输入的值来模拟div刷新,但在我完成此操作后,它将被隐藏
$('input.ScanDocument').trigger('Change');
如果我猜的话,我会说大写字母“C”是个问题。JavaScript区分大小写 让我先说明一下,我以前没有使用过
ColdFusion.navigate
功能,但根据需要,该功能需要成为链接目标。它需要位于a
标记的href
部分。请看我引用的文档页面上的示例。因此,请尝试将您的代码添加到标记中,如下所示:
<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:
文本。这似乎没有必要
它还显示为您缺少函数的容器
参数。文档说明,如果缺少此参数,则链接将被视为正常URL,整个页面将被刷新。(虽然您的代码不是链接?)
另外,我不确定是否可以像您一样在函数的URL中引用ColdFusion变量。这些都是服务器端,这个函数是客户端(javascript)。正如我所说,我以前从未使用过这个,但这些是我在阅读该文档后的想法。我认为您不需要在bind url-ScannedDocument的这部分中进行@change={ScanDocument@change}我尝试使用code
var ScanDoc=$('input.scandocument').val();ColdFusion.navigate('url:#request.controlurl#documentHandler/?docareaID=#docareaID#&variableID=#variableID#&Fav=#attributes.Fav#&userid=#attributes.userid#&showform=1&ScannedDocument=+ScanDoc+)code
但它创建了一个绑定cfdiv的循环。请参阅修订后的问题。$('input.ScanDocument')。触发器('change');不起作用。请注意,我从您的代码中删除了url:
文本,听起来这才是真正的问题@user990016-为了澄清上述问题,ColdFusion.navigate
可以在任何可以调用javascript函数的地方调用(而不仅仅是从链接)。同样,在URL中使用CF变量也是有效的。因为它们被包装在cfoutput
中,所以对变量求值并转换为简单字符串。请记住,在刷新页面之前,这些字符串不会更改。(您可能还需要转义特殊字符以避免javascript错误)!我试图说我对ColdFusion.navigate
函数不太熟悉的确,您遇到了主要问题,即额外的url:
和缺少容器id
。剩下的只是对未来读者的澄清:)是的,就是这样。我只是想知道如何传递容器ID。效果很好。