跳转到内容

XForms/动态加载 JavaScript

来自维基教科书,自由的教科书

有时 XForms 数据元素无法完成您需要的所有操作。这在异常处理中尤为常见。发生这种情况时,您可以动态加载 JavaScript 程序来处理所需的功能。

此示例将使用 XForms 的 load 元素。但与大多数 JavaScript 函数不同,它不会在需要之前加载到浏览器中。

示例程序

[编辑 | 编辑源代码]

以下是在 XForms 触发器中使用 load 元素的示例

首先,您需要一个小型 JavaScript 函数来进行测试,如下所示

  <script type="text/javascript">
    var MyJavaScript=function(){
     alert('Hello From JavaScript');
    }  
  </script>

然后,您可以使用触发器中的 Load 函数调用此 JavaScript 函数

<xf:trigger>
  <xf:label>Run JavaScript</xf:label>
  <xf:action ev:event="DOMActivate">
   <xf:load resource="javascript:MyJavaScript()" />
   ........
  </xf:action>
</xf:trigger>

加载 XForms 应用程序

您还可以使用以下示例从 XForms 实例传递数据

function myjavascriptfunction(id) {
  // We get the instance element
  var instanceElement = document.getElementById(id);
   if (instanceElement!=null) {
   // XForms exposes the retrieval of the instance document from the model element which *should*
   // be the parent for the instance element.
   var instance = instanceElement.parentNode.getInstanceDocument(id);
   }
}

当用户选择此触发器时,JavaScript 函数 my-javascript-function 将被动态加载到 XForm 应用程序中并执行。

参考资料

[编辑 | 编辑源代码]

该程序的灵感来自 Backstop Media 的自由撰稿人 Nicholas Chase 发布的以下示例。

链接在此:IBM XForms 技巧:调用 JavaScript


下一页: 高级搜索 | 上一页: 面校验
主页: XForms
华夏公益教科书