簡體   English   中英

用於簡單顯示隱藏的Adobe Livecycle Javascript總體邏輯

[英]Adobe Livecycle Javascript Overall Logic for Simple Show Hides

我試圖在Adobe Live Cycle中使用大量簡單的顯示/隱藏腳本,以將幾種形式組合為一種。 我將文本輸入字段彼此疊加,使它們都以不可見的方式開始(使用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";

}

上面的所有代碼看起來非常簡單,但是文檔的initialize部分中還包含一些代碼:

    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";

我很好奇是否需要這種事情。 如果是這樣,有人可以在文檔的初始化部分中說明在何種程度上需要這種代碼嗎?

如果沒有必要,那么我粘貼在這篇文章頂部的show / hide編碼是否足以滿足我想要完成的任務?

我已經嘗試過遍歷Adobe的livecycle文檔,但是很難找到所需內容的廣泛概述,因此我很難利用它。 任何幫助是極大的贊賞。 如果我缺少資源,我很想教自己如何做。 另外,這是我在這里的第一篇文章。 我盡力遵循FAQ中的提交准則,但是如果我違反了任何提交准則,請提前道歉。 謝謝。

下拉菜單的代碼看起來很簡單,應該很好(盡管使用LiveCyle一段時間后您可能會發現,即使是一些帶有邏輯代碼的簡單任務也無法使用)。

Initialize事件中的代碼實際上是用於單選按鈕組的,而不是下拉菜單的,因此可見表單的功能實際上可能不僅僅是下拉菜單驅動的。

在LC中,最終的結果是更改或驗證事件的代碼在Initialize事件中重復出現,以便在窗體打開時正確顯示/處理。 當然,這可以通過使用對象的其他事件中的代碼調用事件來解決。 例如。 在下拉初始化事件中,您將保存下拉代碼;在下拉事件的change事件中,您將使用this.execEvent(“ initialize”)在觸發更改事件時調用代碼。

不查看表格就很難了解特定情況下的情況,但是如果有任何不清楚的地方或需要其他任何幫助的話,請告訴我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM