jquery cfml 触发器(“更改")不起作用 [英] jquery cfml trigger('change') not working

查看:20
本文介绍了jquery cfml 触发器(“更改")不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要的是绑定到列出文件类型的查询的 cfselect、列出已保存文件的 cfdiv 以及扫描要保存为 pdf 文件的图像的按钮,其名称以输入值为前缀字段.

What I need is a cfselect bound to a query that lists file types, a cfdiv that lists the saved files, and a button that scans an image to be saved as a pdf file with the name prefixed by the value of the input field.

简单的页面.

<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 刷新,但在我让它工作后它将被隐藏.

The coldFusion.Navigate does NOT refresh the CFdiv, and it also trigger an event for onBrowseAway I use for the main form action. I can simulate the div refresh by manually changing the value of the input but it will be hidden after I get this to work.

推荐答案

让我先声明我之前没有使用过 ColdFusion.navigate 功能,但根据 此处的文档 该函数需要是链接目标.它需要位于 a 标记的 href 部分.查看我引用的文档页面上的示例.因此,请尝试将您的代码添加到 a 标记中,如下所示:

Let me preface this by stating that I have not used the ColdFusion.navigate functionality before but according to the documentation here the function needs to be a link target. It needs to be in the href portion of an a tag. Look at the example on the documentation page that I referenced. So try adding your code to an a tag like this:

<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: 文本.这似乎没有必要.

Notice that I removed the url: text from your code. That does not appear to be necessary.

您似乎也缺少该函数的 container 参数.文档指出,如果您缺少此参数,则链接将被视为普通 URL,并且整个页面将被刷新.(虽然你的代码不是链接?)

It also appeared as though you are missing the container parameter for the function. The documentation states that if you are missing this parameter the link will be treated as a normal URL and the entire page will be refreshed. (Although your code was not a link?)

另外,我不确定您是否可以像您一样在函数的 URL 中引用 ColdFusion 变量.这些是服务器端的,这个功能是客户端的(javascript).就像我说的,我以前从未使用过它,但这些是我阅读该文档后的想法.

Also, I'm not sure if you can reference the ColdFusion variables in the URL of the function like you are. Those are server-side and this function is client-side (javascript). Like I said, I have never used this before but these are my thoughts after reading that documentation.

这篇关于jquery cfml 触发器(“更改")不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆