2014-03-07 4 views
0

У меня есть форма, которую я хочу заблокировать для презентации после ее заполнения. Я знаю, как сделать это с помощью кнопки, чтобы отображать текстовые поля только для чтения. Теперь у меня есть форма, которая включает повторяющиеся подформы (добавляется по мере необходимости). Как я могу создать скрипт одной кнопки, чтобы она работала для объектов во всех подформах?Жизненный цикл: ссылки на объекты в повторяющихся подформах

Подформы представляют собой итерации «ItemGroup». Мне нужно сделать «ItemGroup.Item» и «ItemGroup.ItemRx» только для чтения, а «ItemGroup.ItemHeader.Button» - невидимым.

ответ

0

Я дома, поэтому непроверенный. Дайте мне знать, если вы столкнетесь с неприятностями.

var sfSom = "<path/somExpression to subform containing ItemGroups>"; var nn, n = xfa.resolveNode(sfSom).nodes; 

for (var i = 0; i < n.length; i++) { 
    nn = n.item(i); 
    if (nn.name == "ItemGroup" && nn.className == "subform") { 
     /* change stuff here. Decide if Item and ItemRx should be read-only, calculate or protected. For now, we'll settle for hiding the button: */ 
     nn.ItemHeader.Button.presence = "hidden"; 
    } 
} 
+0

Я пробовал, но это ничего не делает: form1.Header.Button2::click - (JavaScript, client) var sfSom = ""; var nn, n = xfa.resolveNode(sfSom).nodes; for (var i = 0; i < n.length; i++) { nn = n.item(i); if (nn.name == "ItemGroup" && nn.className == "subform") { nn.Item.access = "read only"; nn.ItemRx.access = "read only"; nn.ItemHeader.Button.presence = "hidden"; } } quackdad