0

我正在使用 Adob​​e LiveCycle Designer 创建从 XML 文档自动填充的动态表单。不幸的是,我对 LiveCycle 不是很熟悉,所以遇到了一个我无法解决的问题。让我给你一个简化的版本,说明我想做的事情以及到目前为止我尝试过的事情。

我有一张桌子,有两列,“歌曲”和“歌词”。表格的每一行都包含两个文本字段,一个用于歌曲,一个用于歌词,它们是从 XML 文档自动填充的。不幸的是,“歌词”列中的某些条目太大,因此它们超出了页面。为了解决这个问题,我将每个 textField 包装在一个 Flowed 子表单中,并为每个子表单检查了“允许在上下文中分页符”选项。

这种方法的问题是两个文本字段不再一起增长。所以,虽然我得到了一个跨越几页的大歌词,但歌曲文本字段不会随着歌词一起增长。

我试图找到一个解决方案,我意识到唯一的方法可能是动态更改(使用 Javascript)歌曲文本字段的高度以匹配歌词中的高度。但是由于歌词 textField 设置为“扩展以适应”,我无法获取高度值,即使不是,它也总是返回“0in”。

你们是否有任何解决方案来获取设置为“扩展以适应”的字段的高度,或者可能是使文本字段一起增长的更好方法?

预先感谢您的所有帮助

4

1 回答 1

1

您必须在布局就绪事件中使用以下脚本:

var heightField = xfa.layout.h(xfa.resolveNode(fieldName), "pt"));

请记住,您只能在布局就绪事件中访问此属性,当呈现表单并有效计算高度时。

在我看来,实现结果的最佳方法是将两个字段放在同一个子表单中(选中自动调整高度复选框),然后将两个字段的高度设置为与其父级高度相同的值。所以,你可以简单地写这样的东西:

var heightField = xfa.layout.h(this.parent, "pt"));
this.h = heightField + "pt";
于 2011-04-20T07:30:39.437 回答