WEB开发网
开发学院网页设计JavaScript 使用 JavaScript 让 XForms 变得更健壮 阅读

使用 JavaScript 让 XForms 变得更健壮

 2010-09-14 13:05:10 来源:WEB开发网   
核心提示: 下面介绍其工作原理,您需要从 JavaScript 中访问 XForms 模型,使用 JavaScript 让 XForms 变得更健壮(5),所幸的是,使用 JavaScript 的 DOM API 即可轻松地实现访问,这样做的目的是为了更优雅地处理删除最后一个项目时的情况,现在查看一下

下面介绍其工作原理。您需要从 JavaScript 中访问 XForms 模型。所幸的是,使用 JavaScript 的 DOM API 即可轻松地实现访问。XForms 模型是页面 DOM 的一部分,因此您只需使用 document.getElementById() 方法,正如您访问 HTML div 或 HTML 输入字段那样。

当您使用 document.getElementById() 访问 XForms 模型时,如 清单 3 所示,您得到的是 nsIXFormsModelElement。此对象中含有几个非常有用的方法,包括上面使用的 getInstanceDocument() 方法。这样您就可以访问 清单 1 中定义的 XForms 实例。这是一个 DOM 对象,表示 清单 2 中的 XML 文档。因此在 JavaScript 代码中,您只需让 DOM 获取 Item 元素即可。您确定模型中有多少个 Item 并将其存储在 cnt 变量中。很明显,此处要处理两个用例。第一个是您拥有不止一个 Item,第二个是您只有一个 Item。在第一个用例中,您需要删除项目。

使用 JavaScript 删除项目

那么如何使用 JavaScript 而不是 XForms 删除控件删除一条 Item 记录呢?解决方案极其简单。先前调用的 getInstanceDocument() 方法给您提供一个真正的 DOM 对象。因此您可以对此对象执行任何对其他 DOM 对象执行的操作。它支持全部的 DOM API 功能。因此您简单地对 DOM 元素使用 removeChild() 方法。删除 index (cnt - 1) 处的 Item,因为您的元素数组(调用 getElementsByTagName("Item") 获得)是 0-indexed。这里没有什么神奇的 XForms API,只有简单的 DOM 编程。

删除最后一个项目

您已经重新生成了使用 XForms 删除命令能够正常完成的逻辑。这样做的目的是为了更优雅地处理删除最后一个项目时的情况。现在查看一下这个临界情况,比如 cnt == 1。

上一页  1 2 3 4 5 6 7  下一页

Tags:使用 JavaScript XForms

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接