【问题标题】:ColdFusion CFGrid: Validating Input via JQueryColdFusion CFGrid:通过 JQuery 验证输入
【发布时间】:2017-05-08 13:25:07
【问题描述】:

我有一个允许编辑数据的 CFGrid。我需要做的是使用一些 onblur 或 onchange 事件通过 jQuery 验证用户输入。但我的 jQuery 代码无法使用类访问 CFGrid 元素。这是一个代码sn-p:

<td class=" x-grid-cell x-grid-cell-securityusers_ACTIVE   " id="ext-gen1066"><div class="x-grid-cell-inner " style="text-align: LEFT; ;" id="ext-gen1067">No</div></td>

当点击可编辑的 cfgridcolumn 时,上面的代码会显示在 Firebug 中。所以我应该可以使用以下代码:

$('.x-grid-cell-securityusers_ACTIVE').click(function(){            
     alert('click') ;  
});

但是这个事件永远不会触发。我可以确认我的 jQuery 加载没问题,因为容器 div(包含网格)会生成点击事件。

我的猜测是动态生成的 CFGRID 只是没有向 JQuery 注册;我在 $(document).ready(function() { 下也尝试了 javascript 代码,但仍然没有触发任何事件。

有什么想法吗?任何替代方法?

谢谢!

【问题讨论】:

  • 您使用的是 html 网格吗?
  • 是的。谢谢。这是 html 网格
  • 可能是您试图混合来自两个不同库(ExtJS 和 jQuery)的事件模型。这充其量是有问题的。
  • 你';必须阅读 ExtJS 中的验证。 jQuery 和 CFGRID 是一个糟糕的组合。您试图触发基于文档的事件与 ExtJS 定义的事件,后者在呈现内容时动态定义。
  • 哦,我不知道 CFGRID 中的 ExtJS 事件;让我看看它们并从代码中删除 jQuery...

标签: jquery validation coldfusion cfgrid


【解决方案1】:

没关系。我认为,对于每个 cmets,正确的方法是研究 ExtJS API,但经过一些徒劳的尝试,我没有时间去做。所以我最终在表单发布后对输入数据进行了 ColdFusion 自己的验证;有点痛苦,但很有效。

【讨论】:

  • 说实话,像 cfgrid 这样的 UI 组件与非常过时的底层 JS 库版本捆绑在一起,并且难以定制。 IMO 最好的选择是完全放弃它们。只需直接使用您想要的任何 JS 库即可。这样你就可以使用你想要的任何版本的库,而不必担心更新 CF 时会出现问题。
  • 既然你已经在使用 jQuery,我推荐datatables.net
  • 谢谢两位。我在 Datatables.net 有一些背景,但它们是用于只读表格数据的,没有看到 ColdFusion for Edits 的任何“示例”。所以,大概 12 年后,我决定再试一次 CFGrid —— 只是发现它太难配置了。无论如何,我完成了大部分工作;如果我知道 CFGrid 的局限性,我会从 jQuery 方法开始。 Adobe 将 CF 视为继子!
猜你喜欢
  • 1970-01-01
  • 2021-04-13
  • 1970-01-01
  • 2020-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-17
  • 1970-01-01
相关资源
最近更新 更多