{{header}} {{object 1 0}} << /Type /Catalog /Pages 2 0 R /AcroForm 4 0 R /OpenAction 10 0 R >> endobj {{object 2 0}} << /Type /Pages /Count 1 /Kids [ 3 0 R ] >> endobj % Page number 0. {{object 3 0}} << /Type /Page /Parent 2 0 R /Resources << /Font <> >> /Contents [21 0 R] /MediaBox [0 0 612 792] >> endobj % Forms {{object 4 0}} << /Fields [5 0 R] >> endobj % Fields {{object 5 0}} << /T (MyField) /Type /Annot /Subtype /Widget /Rect [100 100 400 400] /Kids [ 6 0 R 7 0 R 8 0 R 9 0 R ] >> endobj {{object 6 0}} << /FT /Tx /Parent 5 0 R /T (Sub_X) /Type /Annot /Subtype /Widget /Rect [200 200 220 220] >> endobj {{object 7 0}} << /FT /Tx /Parent 5 0 R /T (Sub_A) /Type /Annot /Subtype /Widget /Rect [220 220 240 240] >> endobj {{object 8 0}} << /FT /Tx /Parent 5 0 R /T (Sub_Z) /Type /Annot /Subtype /Widget /Rect [240 240 260 260] >> endobj {{object 9 0}} << /FT /Tx /Parent 5 0 R /T (Sub_B) /Type /Annot /Subtype /Widget /Rect [260 260 280 280] >> endobj % OpenAction action {{object 10 0}} << /Type /Action /S /JavaScript /JS 11 0 R >> endobj % JS program to exexute {{object 11 0}} << >> stream function TestGetField() { try { var field = this.getField("MyField"); app.alert("field is " + field.name); var sub_a = this.getField("MyField.Sub_A"); app.alert("sub_a is " + sub_a.name); var nonesuch = this.getField("MyField.nonesuch"); app.alert("nonesuch is " + nonesuch); } catch (e) { app.alert("Unexpected error: " + e); } } function TestGetArray() { try { var subs = this.getField("MyField").getArray(); app.alert("found " + subs.length + " sub-fields:"); for (i = 0; i < subs.length; ++i) { app.alert(subs[i].name); } } catch (e) { app.alert("Unexpected error: " + e); } } TestGetField(); TestGetArray(); endstream endobj {{xref}} trailer << /Root 1 0 R >> {{startxref}} %%EOF