2017-02-14 2 views
0

Я работаю в LiveCycle, создавая форму, которая позволяет пользователю дублировать подформу по мере необходимости. В этом наборе полей есть выпадающий список, и если он установлен на определенные значения, должно отображаться поле, которое обычно скрыто. Я просто хочу, чтобы это отображалось в этом экземпляре подформы, которые они сделали для этого выбора. Итак, мой вопрос заключается в том, как определить, какой экземпляр активировал событие? Если я получу это, я думаю, что могу пойти оттуда с внесением изменений.Изменить поле In On Instance in LiveCycle

Я по-прежнему новичок в LiveCycle, и ресурсы там разбросаны в лучшем случае. Любая помощь приветствуется.

PS Я использую Javascript, а не FormCalc.

ответ

0

Самый простой способ - использовать встроенные функции, которые помогут вам найти подходящие объекты в вашем коде. Когда вы вводите свой код в окне сценария, просто удерживайте Ctrl и щелкните мышью по объекту, на который вы хотите передать свой код. Он будет генерировать правильное короткое имя DOM для этого объекта. Если вы удерживаете Ctrl-Shift и затем щелкните, вы получите полный DOM-адрес для этого объекта.

Например, у вас есть 1-страничная форма, которая имеет подчиненную форму, которая может иметь несколько экземпляров. Внутри этой подчиненности есть раскрывающийся «Селектор», который контролирует видимость текстового поля «Вес». Ваши DOM адрес будет выглядеть следующим образом

form1.page1.subform.Selector - это ваш выпадающий form1.page1.subform.Weight - это ваше текстовое поле

Теперь, потому что ваш сценарий находится внутри объекта в той же подформе, которая также имеет объект, который вы хотите контролировать, вам даже не нужно обращать внимание на номера экземпляров.

В окне сценарного form1.page1.subform.Selector просто введите

if (this.rawValue == "Yes"){ 
Weight.presence = "visible"; 
} 

Он будет рассматривать только тот объект, который находится в том же подчиненном с вашим контроллером раскрывающегося.