【问题标题】:IBM forms designer and making jQuery work with DojoIBM 表单设计器并使 jQuery 与 Dojo 一起工作
【发布时间】:2014-07-22 20:09:20
【问题描述】:

我有以下代码:

var dojoConfig = {
   baseUrl: "./",
   async: true,
   isDebug: true,
   parseOnLoad: false,
   packages: [
     {name: "jQuery", location: "http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js", main: "jQuery"},
   ]
};

代码加载没有问题,但是一旦我在点击按钮上执行此操作:

$(this).value();

它给出了错误:

在 item , page 上执行 onClick 事件代码时出错 欢迎,表格 1。 原因:错误:非法引用$

我需要做些什么才能让两者都在表单上工作?我需要以某种方式调用 jquery 吗?

【问题讨论】:

  • 您的 console.log 是什么样的?你可能需要坚持下去
  • 控制台显示 “在项目 页面 Welcome 上执行 onClick 事件代码时出错, form Form 1
         原因:错误:非法引用$"
  • 遇到$冲突使用:jQuery.noConflict
  • @charlietfl 但是我会把它放在上面的代码中的什么地方呢?我无权访问 IBM Forms Designer 中的原始 html 代码。
  • 我会查看浏览器的控制台,看看是否有任何跨域问题。您可能会看到两个链接 ibm.com/developerworks/community/blogs/…stackoverflow.com/questions/2850314/…

标签: jquery dojo lotus ibm-connections


【解决方案1】:

用这个替换你的 Dojo 配置:

var dojoConfig = {
  async: true,
  isDebug: true,
  parseOnLoad: false,
  packages: [{
    name: "jQuery",
    location: "http://ajax.googleapis.com/ajax/libs/jquery/1.11.0",
    main: "jquery.min"
  }]
};

如果我们定义一个名为 jQuery 的模块(由于 name 属性)位于 http://ajax.googleapis.com/ajax/libs/jquery/1.11.0 会发生什么。

如果我们然后使用:

require([ "jQuery" ], function() {

});

它将加载 jQuery 模块的主文件,在本例中为 jquery.min。它会在给定的位置寻找它,所以你会得到:

http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js

这应该可以正常工作,虽然我不认为.value() 函数是一个合适的函数。好吧,你可以在这个 Plunker 上看到它的工作原理:http://plnkr.co/edit/IE9y3cId6IHQfMKnyOtj?p=preview

【讨论】:

    猜你喜欢
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 1970-01-01
    • 2015-12-26
    • 2018-07-20
    • 1970-01-01
    相关资源
    最近更新 更多