Adobe Livecycle Javascript用于简单显示隐藏的总体逻辑

Adobe Livecycle Javascript用于简单显示隐藏的总体逻辑,javascript,show-hide,livecycle-designer,Javascript,Show Hide,Livecycle Designer,我试图在AdobeLiveCycle中使用大量简单的显示/隐藏脚本,将一些表单组合成一个表单。我将把文本输入字段层叠在一起,让它们都以不可见的形式开始(使用Live Cycle的不可见设置)。这些对象的显示/隐藏将通过使用下拉列表进行控制 基本任务是: -Click an item from a dropdown list. -Initiate a show of relative invisible elements on the page based on the raw value

我试图在AdobeLiveCycle中使用大量简单的显示/隐藏脚本,将一些表单组合成一个表单。我将把文本输入字段层叠在一起,让它们都以不可见的形式开始(使用Live Cycle的不可见设置)。这些对象的显示/隐藏将通过使用下拉列表进行控制

基本任务是:

-Click an item from  a dropdown list.
-Initiate a show of relative invisible elements on the page based on the 
 raw value of the item selected.
-If user changes dropdown value, hide previously displayed data and show new
 corresponding data.
这一切可以从下拉列表本身内部完成吗?我从以前的开发人员那里继承了这个项目,所以我正在拼凑他的一些代码,并试图掌握实际需要做什么,以便完成任务。下面是显示隐藏结构的示例:

xfa.resolveNode("form1.#subform.indPaymentOptions").selectedIndex = 0;
xfa.resolveNode("form1.#subform.VendPaymentOptions").selectedIndex = 0;
xfa.resolveNode("form1.#subform.Display_Field_Pay_Types").rawValue = 
    "Please select an option from the 'Select type' drop-down menu above.";
taxReportable.rawValue = "";
AccountCodesDynamic.rawValue = "";

if (xfa.resolveNode("form1.#subform.payeeType").rawValue == 2) {
    xfa.resolveNode("form1.#subform.indPaymentOptions").presence = "visible";
    xfa.resolveNode("form1.#subform.VendPaymentOptions").presence = "hidden";
}

else if (xfa.resolveNode("form1.#subform.payeeType").rawValue == 3) {
    xfa.resolveNode("form1.#subform.indPaymentOptions").presence = "hidden";
    xfa.resolveNode("form1.#subform.VendPaymentOptions").presence = "visible";
}
else if (xfa.resolveNode("form1.#subform.payeeType").rawValue == 1) {
    xfa.resolveNode("form1.#subform.indPaymentOptions").presence = "hidden";
    xfa.resolveNode("form1.#subform.VendPaymentOptions").presence = "hidden";

}
上面的所有代码看起来都非常简单,但文档的初始化部分也有一些代码:

    if (xfa.resolveNode("#subform.RadioButtonList[2].ind").rawValue == 1)
    indPaymentOptions.presence = "visible";

else if (xfa.resolveNode("#subform.RadioButtonList[2].vend").rawValue == 2)
    vendPaymentOptions.presence = "visible";
我很想知道这种事情是否必要。如果是的话,有人能解释一下在文档的初始化部分需要这些代码的程度吗

如果没有必要,我粘贴在这篇文章顶部的显示/隐藏编码是否足以完成我想要完成的任务


我已经尝试过仔细阅读Adobe的livecycle文档,但是很难找到一个关于所需内容的大致概述,所以我很难使用它。非常感谢您的帮助。如果我缺少一种资源,我很乐意教自己如何做到这一点。另外,这是我在这里的第一篇帖子。我尽力遵守FAQ中的提交准则,但如果我违反了任何提交准则,我会提前道歉。谢谢。

下拉列表的代码看起来非常简单,应该可以(尽管您可能会在使用LiveCyle一段时间后发现,即使是一些带有逻辑代码的简单任务也不起作用)

initialize事件中的代码实际上是针对radiobutton组的,而不是下拉列表,因此可见表单的功能实际上可能不仅仅由下拉列表驱动

在LC中,您往往会得到在初始化事件中重复的更改或验证事件的代码,以便在表单打开时正确显示/处理。当然,这可以通过使用对象的其他eventsevent中的代码调用事件来解决。例如,在下拉初始化事件中,您将保留下拉代码,在下拉列表的更改事件中,您将使用此.execEvent(“初始化”),它将在触发更改事件时调用代码

在看不到表格的情况下,要了解您的具体情况有点困难,但是如果有任何不清楚的地方,请告诉我,或者我可以帮助您解决其他问题