{{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 <</F1 15 0 R>> >> /Contents [21 0 R] /MediaBox [0 0 612 792] >> % Forms {{object 4 0}} << /Fields [5 0 R] >> % Field {{object 5 0}} << /FT /Tx /T (MyField) /Type /Annot /Subtype /Widget /Rect [100 200 150 250] >> % OpenAction action {{object 10 0}} << /Type /Action /S /JavaScript /JS 11 0 R >> endobj % JS program to exexute {{object 11 0}} << >> stream function testField(x) { var field = this.getField("MyField"); field.value = x; var y = field.value; app.alert("Answer for \"" + x + "\" is: " + typeof(y) + " " + y); } testField(""); testField("goats"); testField("b4"); testField("b4.5"); testField("4x"); testField("4.5x"); testField(4); testField("4"); testField(" 4"); testField("4 "); testField(" 4 "); testField("4 3 2 1"); testField("-4"); testField("23.00000001"); testField("23.00000000000000001"); testField(40000000000000000000000000); testField("40000000000000000000000000"); testField("25,5"); testField("1e+5"); testField("1e5"); testField("1e-5"); testField("-1e-5"); testField("1.2e5"); testField(Infinity); testField("Infinity"); testField("INFINITY"); testField("INF"); testField(NaN); testField("NaN"); testField("NAN"); testField("0x100"); testField("0x100.1"); testField("0x100,1"); testField("0x100x1"); testField("123x6"); testField("123xy6"); testField("123.y6"); testField("1,000,000"); testField("1.2.3"); testField("1-3"); testField("1+3"); testField("1.-3"); testField("1.+3"); testField([1, 2, 3, 4]); testField("[1, 2, 3, 4]"); testField({a: 1, b: 2}); testField("{a: 1, b: 2}"); testField(function(x) { return x+1; }); testField("function(x) { return x+1; }"); endstream endobj {{xref}} trailer << /Root 1 0 R >> {{startxref}} %%EOF