Verwijzen naar naamloze en herhaalde objecten

Met Designer kunt u naamloze objecten maken en meerdere objecten met dezelfde naam maken. U kunt wel berekeningen en scripts maken om toegang te krijgen tot de eigenschappen en waarden van naamloze objecten of deze te wijzigen door hekjesnotatie (#) te gebruiken. U kunt berekeningen en scripts ook gebruiken voor toegang tot voorvalwaarden van objecten of deze te wijzigen met het gebruik van rechte haken ([ ]). Het hekje (#) en de vierkante haken ([ ]) worden door FormCalc wel correct geïnterpreteerd, maar door JavaScript niet. Als u toegang wilt tot de waarde van een tekstveld in situaties waarin hekjes (#) of rechte haken ([ ]) voorkomen, moet u met JavaScript de methode resolveNode gebruiken in combinatie met een volledig gekwalificeerde verwijzingssyntaxis of een verkorte verwijzingssyntaxis.

Als u bijvoorbeeld een nieuw, leeg formulier maakt, is het subformulier dat de pagina van het formulier vertegenwoordigt, standaard een naamloos subformulier met de voorvalwaarde 0. In het volgende voorbeeld ziet u de formulierhiërarchie op een nieuw formulier met standaardnaamgeving voor objecten.

Het naamloze subformulier dat de eerste pagina van het formulier vertegenwoordigt, heeft de voorvalwaarde 0. In deze situatie kunt u beide onderstaande vormen voor de verwijzingssyntaxis gebruiken om toegang te krijgen tot de waarde van het tekstveld in de bovenstaande formulierhiërarchie op een nieuw formulier dat gebruikmaakt van de standaardnaamconventies:

    xfa.form.form1.#subform.TextField1.rawValue 
    xfa.form.form1.#subform[0].TextField1.rawValue
Opmerking: Als u geen voorvalwaarde voor een object opgeeft, geeft de verwijzingssyntaxis standaard toegang tot het eerste exemplaar van dat object.

FormCalc herkent de bovenstaande volledig gekwalificeerde verwijzingssyntaxis en interpreteert deze direct. Als u toegang tot dezelfde waarde wilt met JavaScript, moet u een van deze vormen van de scriptmethode resolveNode gebruiken:

    xfa.resolveNode("xfa.form.form1.#subform.TextField1").rawValue; 
    xfa.resolveNode("xfa.form.form1.#subform[0].TextField1").rawValue;

Als u een nieuwe pagina aan uw formulier toevoegt, blijft de naam van het subformulier dat de nieuwe pagina vertegenwoordigt standaard naamloos. De voorvalwaarde voor het nieuwe subformulier wordt echter ingesteld op 1. U kunt het nieuwe naamloze subformulier opgeven met behulp van een vergelijkbare verwijzingssyntaxis als hierboven:

    xfa.form.form1.#subform[1].TextField1.rawValue // FormCalc 
    xfa.resolveNode("xfa.form.form1.#subform[1].TextField1").rawValue; // JavaScript
Opmerking: De afsluitopties voor de instructie die beschikbaar zijn in de Scripteditor, omvatten naamloze objecten aan het begin van de lijst. Objecten met meerdere voorvalwaarden komen slechts eenmaal in de lijst voor. Deze vermelding vertegenwoordigt het eerste exemplaar van het object. Als u toegang wilt tot een andere voorvalwaarde dan het eerste exemplaar, moet u deze voorvalwaarde handmatig aan de verwijzingssyntaxis toevoegen.

Met de methode resolveNode kunt u verwijzen naar objecten die zich binnen andere instructies in de verwijzingssyntaxis bevinden. U kunt hierdoor de hoeveelheid script verminderen die u nodig hebt om naar een bepaald object of naar een bepaalde eigenschap of methode te verwijzen. Zo kunt u de verwijzingssyntaxis die verwijst naar een tekstveld op de tweede pagina van uw formulier, vereenvoudigen tot de volgende instructie:

    xfa.form.form1.resolveNode("#subform[1].TextField1").rawValue; // JavaScript

Meer informatie over de methode resolveNode vindt u bij resolveNode.