Livecycle Designer:JavaScript - 从根中按名称和位置查找元素

问题描述

我需要一些建议,无论它在文档中的哪个位置,如何按位置选择元素。例如,假设我们有这样的事情:

Document    
 Subform
   a
   b
   a
 Subform
   b
   a
   c
 Subform
   a
   b
   a
   a
....

是否可以检查文档中第五个元素“a”的值(从头开始),无论它在哪个子表单中?类似于 if (xfa.resolveNode(Document.Subform[*].a[5]).rawValue === "y") {do something}

先谢谢你!

解决方法

警告这是一种 Javascript 方式,而不是生命周期解决方案(小心)。

你的问题很有趣,因为我想你想包装所有这些子表单并立即检查名为“a”的输入中的值是“y”,我不确定它是否存在。

我的解决方案是迭代 document.forms,因为我们现在不知道他们的名字。

接下来将创建一个地图定义,其中表单显示预期值。

let hasExpectedValue = [].slice.call(document.forms).map((form)=>{
    return form.a.value === "y";
})

然后我们可以迭代并使用正确的索引并做一些事情。

可能以其他方式存在并进行优化以包装所有内容并对其进行迭代。