【问题标题】:Hide Master Page element on button click in LiveCycle Designer在 LiveCycle Designer 中单击按钮时隐藏母版页元素
【发布时间】:2014-03-22 05:15:26
【问题描述】:

这似乎很简单,但我还没有找到明确的答案。

我在母版页中有一个具有全局绑定的下拉框。我想要一个单独的按钮,位于设计内容区域(不是母版页),当单击时,告诉母版页中下拉框的任何实例隐藏,或者可见等。

在 SOM 编辑器中,下拉框告诉我它的层次结构是:

form1.MasterPages.Page1.Header.projectSize

在按钮的 JavaScript on Click 我试过了:

xfa.resolveNodes("form1.MasterPages.Page1[*].Header.projectSize").presence="hidden";

var nodes = form1.MasterPages.resolveNodes("Page1[*].Header");
var len = nodes.length;
for(var i = 0; i < len; i++) {
  nodes.item(i).projectSize.presence="hidden";
}

以及在form1.Master... 之前带有xfa.resolveNodes(" 的类似脚本,所有这些都不起作用。

是否可以定位母版页元素,如果可以,正确的语法是什么?

提前谢谢你。

编辑*

因此,经过仔细检查,var nodes 方法确实有效。但它仅在第二次单击该按钮时才有效。单击按钮时运行的其他脚本工作正常,但母版页下拉菜单仅在再次单击按钮时“隐藏”......显然这是现在的问题。

【问题讨论】:

    标签: javascript livecycle livecycle-designer


    【解决方案1】:

    我发现了我的问题。不确定这是否可以帮助其他人,但这是我的解决方案,虽然我不完全理解它为什么有效。

    为了在母版页的每个潜在迭代中定位下拉元素,然后隐藏每个迭代,此 JavaScript 在位于文档正文中的按钮中工作(我相信它与我最初所说的相同):

    var nodes = form1.MasterPages.resolveNodes("Page1[*].Header");
    var len = nodes.length;
    for (var i = 0; i < len; i++){
      nodes.item(i).projectSize.presence="hidden";
    }
    

    在拆开旁边运行的其他脚本后,我发现另一个表以及我用来隐藏它的脚本是母版页下拉元素需要两次单击才能正常运行的原因。

    罪魁祸首表名为notesTable,位于名为GrandTotals 的子表单中。以下脚本与其他脚本一起运行良好,但在母版页引用脚本开始发挥作用后失败GrandTotals.notesTable.presence="hidden";

    我发现让所有内容在第一次点击时协同工作的解决方法是引用 notesTable 中的每个单元格项目并独立隐藏它们:

    form1.GrandTotals.notesTable.HeaderRow.notesHeader.presence="hidden";
    form1.GrandTotals.notesTable.Row1.notes.presence="hidden";
    

    我只有 2 个单元格作为目标,所以这不是什么大问题,但我可以想象这个解决方案会因许多行和单元格等而变得混乱。无论哪种方式,一个多余的、更长的黑客修复仍然是一个修复。

    我仍然不确定为什么会出现这个问题,以及为什么会解决这个问题。我在其他引用 JavaScript 时遇到了一些其他问题,这些 JavaScript 不够“具体”,必须进行更改以引用层次结构中更多冗余特定的位才能正常工作。这些问题在一周前还没有发生,现在它们已成为主要障碍。我认为这可能与某种 PDF / Reader 背景更新有关,但我不能确定。

    无论如何,这是对随机问题的随机修复,但它可能会为有类似困惑的其他人解决一些问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-31
      • 1970-01-01
      • 2017-02-27
      相关资源
      最近更新 更多