【问题标题】:How to call a CSJS function that uses JQuery after Dojo parser has completed?Dojo解析器完成后如何调用使用JQuery的CSJS函数?
【发布时间】:2016-07-13 13:27:02
【问题描述】:

我需要调用一个使用 JQuery 的 CSJS 函数。棘手的部分是我需要在 Dojo 解析器完成后调用它。

CSJS 函数正在调用$('#pageContainer input[type!="hidden"], #pageContainer select, #pageContainer textarea').serialize();

我需要在 Dojo 解析器完成后调用 serialize(),否则我不会在序列化字符串中包含 Dojo 日期字段。

我尝试将调用放在页面底部的脚本块中,如下所示:$(function() { serializeForm() });,但由于我的日期选择器字段丢失,这是在 Dojo 解析器完成之前运行的。

我也尝试过dojo.ready(serializeForm()),但这给了我一个错误:

TypeError:上下文不是函数
信息:上下文不是函数

错误来自 dojo.js 第 1862 行

仅供参考:序列化的目的是在用户尝试离开页面时进行“表单脏”检查(我认为 enabledModifiedFlag 没有运气,因为我的应用程序正在使用动态内容控件进行切换页)。

【问题讨论】:

  • 如果您使用动态控件进行表单脏检查,那么作为 sn-p 发布到 OpenNTF 怎么样?听起来很有用!

标签: dojo xpages


【解决方案1】:

ready 期待一个回调函数,去掉括号,或者包裹在匿名函数中

dojo.ready(serializeForm)

dojo.ready(function(){serializeForm()})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-04
    • 2017-01-10
    • 2019-02-05
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 2018-12-28
    • 1970-01-01
    相关资源
    最近更新 更多