Coldfusion CFDiv内部的Jquery

Coldfusion CFDiv内部的Jquery,coldfusion,Coldfusion,我有一个包含CFDiv标记的页面,该标记显示来自另一个文件的内容 <cfajaximport tags="cfwindow,cfform,cflayout-tab,cfdiv"> <cfoutput><cfdiv class="vehicle-log" bind="url:trip_tab.cfm?ticketid=#ticketnum#" ID="theDiv" bindOnLoad = "true"/></cfoutput> 外部文

我有一个包含CFDiv标记的页面,该标记显示来自另一个文件的内容

 <cfajaximport tags="cfwindow,cfform,cflayout-tab,cfdiv">
 <cfoutput><cfdiv class="vehicle-log" bind="url:trip_tab.cfm?ticketid=#ticketnum#" ID="theDiv"  bindOnLoad = "true"/></cfoutput>

外部文件具有jquery选项卡和jquery日期选择器。jquery在CFDiv中似乎都不起作用。如果我单独调用外部页面,则一切正常

我在这里使用CFDiv的原因(我知道大多数人讨厌cflayout)是因为外部页面有一个表单元素,我可以提交它并将其添加到数据库中,而无需刷新整个父页面。这是我知道怎么做的唯一方法

不管怎样,有人知道如何让jquery元素在CFDiv中工作吗

谢谢。
布莱恩

你这里有不止一个问题。首先,您使用的是
,它在封面下使用的是非常旧版本的ExtJS的一部分。因此,混合使用ExtJS和jQuery(以及jQuery插件)可能会让您遇到一些麻烦

其次,由于
使用AJAX加载外部HTML窗口内容,因此需要更改JavaScript策略
不会从外部页面(trip_tab.cfm)拉入并执行JavaScript代码(包括jQuery),除非您只在该外部页面内使用CF UI小部件(然后,
标记会为您处理这些)。它只加载HTML DOM内容。您必须将任何
标记以及自定义JavaScript/jQuery代码和CSS移动到父页面(包含
标记的页面)中。然后,您必须找到一种方法来侦听AJAX事件(完成加载外部页面)并调用自定义JavaScript/jQuery代码


正如其他人在上面的评论中所建议的那样,使用
只会让事情变得更加困难。如果您切换到为UI组件(如jQuery/jQueryUI/jQueryUI插件)使用一个JavaScript库,并将所有必要的代码放入主页面中,您所希望的可以相当容易地完成。

我发现了一个简单的解决方法。。。CFdiv创建了一个感觉像是独立的浏览器窗口,但实际上并不是一个。因此,它无法通过以下方式将Javascript文件拉入:

<script type="text/javascript" src="/js/scripts/jquery-1.11.1.min.js"></script>

上面的内容告诉浏览器“去获取这个文件”——但由于您的CFdiv不是真正的浏览器(这里描述的是CFajax的一个有争议的变体),所以它没有这样做

从技术上讲,上面的内容使浏览器将其包含到页面中,就像您将其包含在其中,或者只是将Javascript粘贴到其中一样

因此,将上述内容转换为:

<script type="text/javascript"><cfinclude template="/js/scripts/jquery-1.11.1.min.js"></script>

而且包含的javascript也可以工作!(前提是与cfajax等人没有任何冲突)


我有一个类似的问题,我的jquery不工作,这样做可以修复它。

F12键应该会打开一个窗口,让您可以看到javascript的运行情况。“这是我知道如何做的唯一方法。”-然后学习如何正确地做,当它不工作时,您不会受到影响(现在就是这样)。有一整节是关于用JavaScript(又名JavaScript)执行HTTP请求的。我同意@PeterBoughton的观点。解决这个问题的第一步是消除对
的依赖。如果你拒绝这样做,那么帮助你是很棘手的。甚至还有关于如何在ColdFusion UI上正确使用
的说明:感谢您的建议。我没有意识到我会像以前那样伤到你的神经。在这一点上,我只是一个新手,我当然愿意学习新的方法。我会检查亚当斯链接!Thx.从上面的链接,如果我使用更直接的方法,即使用.load jquery方法将内容加载到中,则提交该内容上的表单元素会刷新整个父页面。有没有办法只刷新div的内容而不是整个页面?jQuery允许您绑定/截取-这样您就可以用另一个.load调用来替换标准行为以只重新加载该div。好的,谢谢。我想我会发布一个单独的问题,专门针对表单提交事件,以获得更详细的帮助。