XForms/动态加载 JavaScript
外观
< XForms
有时 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 实例传递数据
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