使用ColdFusion 2018的<cfgrid>标签时出现的JavaScript错误

4
使用 ColdFusion 2018,将格式设置为“html”,使用 <cfgrid>
<cfform action="" method="POST" name="TEST">
    <cfgrid name="test"  format="html">
            <CFGRIDCOLUMN NAME="A" HEADER="A" > 
            <CFGRIDCOLUMN NAME="B" HEADER="B" > 
    </cfgrid>
</cfform>

在Chrome上运行上述示例代码,我收到以下错误:
  1. https ://test-url/cf_scripts/scripts/ajax/yui/yahoo-dom-event/yahoo-dom-event.js net::ERR_ABORTED 404 (未找到)

  2. GET https ://test-url/cf_scripts/scripts/ajax/yui/animation/animation-min.js 404 (未找到)

  3. Uncaught TypeError: Cannot read property 'id' of undefined ext-all.js:18
    at i.getKey (ext-all.js:18)
    at i.add (ext-all.js:18)
    at c (ext-all.js:18)
    at i.onSelectChange (ext-all.js:18)
    at i.doMultiSelect (ext-all.js:18)
    at i.doSelect (ext-all.js:18)
    at i.select (ext-all.js:18)
    >at $G.Actions.onLoad (cfgrid.js:490)
    at b (ext-all.js:18)

在调查后,我发现随着Coldfusion 2016更新3的推出,原来捆绑在ColdFusion中的YUI API已经被弃用和移除
据文档显示,只有以下标签会受到更改的影响(我猜其中一个是<CFGRID>的依赖项?):
- cfmenu - cftree - cftooptip - cfcalendar - cfinput(autosuggest属性) - cfinput(sourcefortooltip属性) - cfsprydataset
在不将已弃用的API添加回ColdFusion 2018的情况下,是否有办法将YUI与<CFGRID>标签解耦,使其即使出现错误也能正常工作?
对于ext-all.js的错误,是否有任何解决方法,还是这是Coldfusion的一个bug?

我只尝试过拉取整个 YUI,前两个错误确实消失了。但是 ext-all.js 中的第三个错误仍然存在。(虽然不太想拉取被弃用的 JS 库,因为它已经不再维护) ...<cfgrid> 仍然可以正常工作,即使有错误 ... 只是将错误打印到控制台有点烦人。 - Hedge7707
1
@Hedge7707 - 你的意思是即使添加了整个YUI库,第三个错误仍然存在?也就是说,这与YUI无关。编辑 你能否发布一个小的独立重现案例? - SOS
@Ageax 是的...它似乎与 CF 使用的另一个 JavaScript 框架 Ext JS 有关(https://docs.sencha.com/ext/6.2.0/guides/quick_start/introduction.html)。 - Hedge7707
1
@Hedge7707 - 没关系,我错过了例子;-) 让我试试。 - SOS
@Hedge7707 - 哎呀..是的,我在CF2018中也遇到了同样的3个错误,即使复制整个YUI库,仍然存在1个错误,所以我认为这很可能是一个bug。 - SOS
显示剩余2条评论
1个回答

0

尝试更新到CF 2018的最新更新,即更新5,并确保YUI库已安装。这样可能会跳过以上所有错误。

只有IE浏览器仍然会出现类似以下错误的问题: 无法设置未定义或空引用的属性“page”


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接