16. oktober 2008 - 15:39Der er
5 kommentarer og 1 løsning
hjælp til javascript i pdf formular
Hej,
Jeg mangler scriptet til at kunne autoudfylde et formularfelt afhængig af hvad der er valgt i en combobox tidligere i samme dokument. Jeg har output feltet oprettet som en text felt, og tror at det er muligt at gøre et eller andet inde fra "run custom validation script" på fanebladet "Validate" - men mine programeringsevner er på total amatørplan - Jeg troede jeg kunne anvende If-then-else, men kommer ingen steder. så jeg har brug for hjælpen helt ned til erklæring af variabler, eller alternativ et fingerpeg om hvor jeg kan finde nogle gode eksempler som jeg kan planke.
- og ja, jeg har googlet men syntes ikke at jeg har fundet noget der er simpelt nok.
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
var minVariabel = "noget";//tekst-var, alle datatyper kan bruges
En if/else ser således ud:
if(minVariabel == ""){ //minVariabel er en tom tekst-variabel }else{ //minVariabel er ikke en tom tekst-variabel //-- den kan så godt være f.eks. en tal-variabel eller noget andet }
-- det skal dog lige præciseres, at en hel række værdier evalueres til false i en sammenligning, deriblandt "", 0, undefined, null ...
-- så alle sammenligninger af to af disse værdier vil returnere sand (true !-)
Ovenstående virker jo ikke ! men det jeg gerne ville var at hvis valget i "Combobox" startede med bogstavet "a" skulle "Text" automatiosk udfyldes med teksten "vare", hvis ikke værdien i "Combobox" startede med bogstavet "a" skulle "Text" udfyldes med teksten "andet"
Nu er det ikke til at se i hvilken kontekst, scriptet skal bruges, så det er ikke til at vide, hvad der skal stå - men gåseøjnene om Combobox og Text skal under alle omstændigheder slettes. Om der så skal stå noget helt andet, er som sagt ikke til at vide =)
Nå nej, det er nok ikke så nemt at se hvad meningen er. Men kort fortalt er det en pdf-formular hvor der er indsat nogle formularfleter af typer text og combobox. Jeg ville gerne have et par af tekstfelterne autoudfyldt ud fra de valg der blev fortaget i en combobox. Den smule kode havde jeg så en forventning om at kunne indsætte i properties på det textfelt der skulle autoudfyldes, under validate ...
Håber at det gav lidt klarhed, og iøvrigt skal du da også have tak for din interesse :o)
Her er løsningen, hvis andre skulle ende med en ligende opgave en dag.
Under menupunktet : Advanced | Documents Processing | Document Javascript indtastes følgende script:
Scriptnavn() { // Hent værdien fra comboboxen var cb = this.getField("Combobox").value; var t = ""; console.println(cb);
if (cb == 0) {t = "";} else if (cb == "a1") {t = "vare";} else if (cb == "b2") {t = "andet";} this.getField("Textfield").value = t; }
Output tekstfeltet: (Textfield) På fanebladet Calculate kaldes scriptet med følgende kommando: Scriptnavn(); Input combobox: (Combobox) På fanebladet Options afkrydses ”Commit selected value immediately” Jeg har indtast en blank værdi som standard, som aflevere ”0” som output værdi.
Det er ikke sikkert at det er så pænt, men "it gets the job done"
- Slutter og svarer selv for at lukke spørgsmålet. Tak til roenving og olebole for jeres kommentar
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.