[英]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.