首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Adobe LiveCycle Designer JavaScript等效于FormCalc的[*]

Adobe LiveCycle Designer JavaScript等效于FormCalc的[*]
EN

Stack Overflow用户
提问于 2014-03-11 20:47:59
回答 1查看 1.4K关注 0票数 1

我使用LiveCycle设计器构建一个动态表单,它能够添加和删除嵌套表的行并计算每一行的总数。计算使用FormCalc,并使用[*]函数来处理行的所有迭代。(例如,...someThing.Row1[*]而不是...someThing.Row[0]...someThing.Row[1]等)

这很好,但我也希望使用Javascript来更改按钮mouseUp上某些文本字段单元格的背景填充。我可以让它针对特定的单元格工作,但我不确定在Javascript中应该采取哪些步骤来处理元素的所有动态迭代。

例如,此JavaScript工作,但只针对单个单元格:

代码语言:javascript
运行
复制
MainForm.roomTableSubform.roomTable.Row1.Table1.Row1.billWidth.fillColor = "0,0,0";

从逻辑上讲(正如我所理解的),如果使用FormCalc来针对重复的行,代码就会产生以下效果:

代码语言:javascript
运行
复制
MainForm.roomTableSubform.roomTable.Row1[*].Table1.Row1[*].billWidth.fillColor = "0,0,0";

这显然不适用于Javascript。我已经阅读了有关resolveNode的内容,这似乎是JavaScript的解决方案。我只是不确定如何在上下文中使用它来针对一些未公开的动态创建元素。

我在resolveNode中包含了整个表达式,用xfa.resolveNode("...开始了表达式,使用了resolveNode (resolveNode("Row1[*]"))中的星号,将它固定在Row所在的位置(Table1.resolveNode("Row1[*]").blah)和我能想到的任何其他任意组合,都是徒劳的。

任何关于我哪里出错的洞察力都会受到极大的感谢。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-12 11:37:53

xfa.resolveNode()返回一个节点。您需要使用xfa.resolveNodes()返回一个使用SOM表达式的节点集合。你可以用一个循环遍历节点。

代码语言:javascript
运行
复制
var nodes = Table1.resolveNodes("Row1[*]");
var len = nodes.length;
for(var i = 0; i < len; i++){
    nodes.item(i).fillColor = "255,200,200";
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22336299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档