Я использую LiveCycle Designer для создания динамической формы, которая может добавлять и удалять строки вложенной таблицы и вычислять общее количество каждой строки. В расчете используется FormCalc и функция [*]
для обработки всех итераций строки. (например, ...someThing.Row1[*]
вместо ...someThing.Row[0]
, ...someThing.Row[1]
и т. д.)
Это отлично работает, но я также хотел бы использовать Javascript для изменения фоновой заливки определенных ячеек текстового поля при нажатии кнопки mouseUp. Я могу заставить его работать с конкретными ячейками, но я не уверен, какие шаги нужно предпринять в Javascript для решения всех динамических итераций элемента.
Например, этот JavaScript работает, но нацелен только на отдельные ячейки:
MainForm.roomTableSubform.roomTable.Row1.Table1.Row1.billWidth.fillColor = "0,0,0";
Логически (как я понимаю) при использовании FormCalc для нацеливания на дублированные строки код будет просто чем-то вроде:
MainForm.roomTableSubform.roomTable.Row1[*].Table1.Row1[*].billWidth.fillColor = "0,0,0";
Это явно не работает с Javascript. Я прочитал все, что смог найти о resolveNode
, и кажется, что это решение JavaScript. Я просто не уверен, как использовать его в контексте для нацеливания на нераскрытое количество динамически создаваемых элементов.
Я заключил все выражение в resolNode, начал выражение с xfa.resolveNode("...
, использовал звездочку внутри resolveNode (resolveNode("Row1[*]")
), вставил ее прямо туда, где находится строка (Table1.resolveNode("Row1[*]").blah
), и любую другую произвольную комбинацию, которую я мог придумать, но безрезультатно.
Буду очень признателен за любое понимание того, где я ошибаюсь. Заранее спасибо.