[GastForen Programme Web/Internet PDF Grundlagen / Web / eForms Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Web/Internet - Webdesign, eForms
Themen
Beiträge
Moderatoren
Letzter Beitrag

Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

sacrifice_87
Beiträge gesamt: 7

27. Apr 2015, 12:21
Beitrag # 1 von 17
Bewertung:
(8101 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich hoffe ihr könnt mir helfen, denn ich versuche mich bei Acrobat (X, Vers. 10.1.13.16) in Javascript einzuarbeiten und habe für die folgende Frage leider für mich nichts verständliches gefunden in diversen Foren/API References.

Ich möchte mit dem Kontrollkästchen "A" eine Gruppe von Kontrollkästchen deaktivieren und ausblenden. Wenn "A" aber wieder deaktiviert wird, sollte man die anderen Kontrollkästchen einzeln wieder anwählen können.

(Hintergrund, warum es wichtig ist, dass die Felder auch deaktiviert werden: Ich habe jedes Feld mit Zahlen hinterlegt, die in einem Summenfeld zusammengezählt werden, "A" wäre ein "Alle"-Feld, wenn man aber jetzt nicht alle anwählen möchte, wird im Summenfeld nur das jeweils andere Kästchen zusammengezählt. Da aber dabei auch die Kombination offen ist, dass "A" zu allen auch nochmals dazu gezählt werden kann, müssten bei einem Aktivierten "A" alle anderen gesperrt/deaktiviert werden).

Ich habe es bisher - dank diversen Postings - geschafft, die Felder auszublenden/Einzublenden wenn "A" aktiviert wird. Allerdings schaffe ich es nicht, dass die Felder deaktiviert werden:

Script in "A"
Code
if (event.target.value == "Off")  
this.getField("GRUPPE").display = display.visible;
else this.getField("GRUPPE").display = display.hidden;



Ich habe es unter anderem mit diesem Code hier versucht zu ergänzen:
https://answers.acrobatusers.com/...checkbox-q17478.aspx

Jedoch hat er mir den Befehl "ON" statt "OFF" nicht genommen, eventuell ein Denkfehler meinerseits? "True" "False" habe ich auch ausprobiert. In den API References habe ich den Befehl "checkThisBox " gefunden, hier bin ich aber nicht wirklich weit gekommen?

Könnt ihr mir hier bitte helfen? Das wäre sehr lieb. Ich hoffe ich hab mich halbwegs verständlich ausgedrückt, sorry falls nicht.
X

Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

MurphysLaw
Beiträge gesamt: 588

27. Apr 2015, 13:35
Beitrag # 2 von 17
Beitrag ID: #539177
Bewertung:
(8078 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hast Du es auch schon mit "enabled" versucht? Das sollte eigentlich die richtige Property sein.

Außerdem kannst Du das ganz einfach kürzer machen/togglen:
Code
this.getField("GRUPPE").enabled == (event.target.value == "Off"); 


;-)

Grüße,
Murphy

________________________________________

Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: Das ist technisch unmöglich! (Sir Peter Ustinov)


als Antwort auf: [#539175]

Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

sacrifice_87
Beiträge gesamt: 7

27. Apr 2015, 16:16
Beitrag # 3 von 17
Beitrag ID: #539182
Bewertung:
(8014 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen herzlichen Dank für die wirklich rasche Antwort.

"Enabled" hatte ich noch nicht probiert, muss ich auch gestehen habe ich bisher nicht gefunden. Allerdings hat es leider nicht funktioniert, weder mit dem "OFF" (auch mit "On" oder "Yes" nicht) noch mit dem verkürzten Code.
Die weiteren Felder werden nicht deaktiviert, hab das mal bei einer zweiten Gruppe ("KOMBO") ausprobiert. Ich habe hier einmal das PDF angehängt.
Werde aber noch etwas mehr in dem Acrobat API Preferences suchen, eventuell hab ich hier einen Denkfehler :(


AnsichtPdf http://we.tl/EnDQmRuMNt
(Über wetransfer.com)



Code
//------------------------------------------------------------- 
//-----------------Bearbeiten Sie nicht die XML-Tags--------------------
//-------------------------------------------------------------

//<AcroForm>
//<ACRO_source>A:Annot1:MouseUp:Action1</ACRO_source>
//<ACRO_script>
/*********** gehört zu: AcroForm:A:Annot1:MouseUp:Action1 ***********/
if (event.target.value == "Off")
this.getField("GRUPPE").display = display.visible;
else this.getField("GRUPPE").display = display.hidden;
//</ACRO_script>
//</AcroForm>

//<AcroForm>
//<ACRO_source>I:Annot1:MouseUp:Action1</ACRO_source>
//<ACRO_script>
/*********** gehört zu: AcroForm:I:Annot1:MouseUp:Action1 ***********/
this.getField("KOMBO").enabled == (event.target.value == "OFF");
//</ACRO_script>
//</AcroForm>



als Antwort auf: [#539177]

Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

MurphysLaw
Beiträge gesamt: 588

27. Apr 2015, 17:19
Beitrag # 4 von 17
Beitrag ID: #539185
Bewertung:
(7996 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Jahaaa. Wenn man's testen kann, geht's gleich leichter! :-)
==>readonly heißt der Knabe.

Und so geht's dann auch mit diesem simplen Einzeiler:
Code
this.getField("GRUPPE").readonly = (event.target.value == "Off"); 


;-)

Viele Grüße,
Murphy

________________________________________

Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: Das ist technisch unmöglich! (Sir Peter Ustinov)


als Antwort auf: [#539182]

Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

sacrifice_87
Beiträge gesamt: 7

28. Apr 2015, 11:59
Beitrag # 5 von 17
Beitrag ID: #539214
Bewertung:
(7908 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen herzlichen Dank!
Mit dem "readonly" Hinweis habe ich es hinbekommen.
Jedoch habe ich dann gemerkt, dass wenn man zuvor die unteren Felder anklickt, diese aktiviert bleiben. Das würde dann über die "Endsumme" hinausgehen und da ich gerade am "Lernen" bin habe ich dann ausprobiert, ob ich die Felder von einem Kontrollkästchen aus aktivieren kann. Wenn ich so unverschämt sein darf, würde ich gerne noch hier eine Frage dazu äußern:

Ich habe das mit dem Befehl "checkThisBox" ausprobiert. Das hat auch gut geklappt, nur kann es sein, dass bei diesem Befehl die Gruppen nicht funktionieren? Oder muss ich die dann anders bezeichnen?

Auszug aus dem Code (leider kein Einzeiler):
Code
if (this.getField("FELD.I").value !=="OFF") 
getField("GROUPI.J").checkThisBox(0,true);
getField("GROUPI.K").checkThisBox(0,true);
getField("GROUPI.L").checkThisBox(0,true);
getField("GROUPI.M").checkThisBox(0,true);
getField("GROUPI.N").checkThisBox(0,true);
getField("GROUPI.O").checkThisBox(0,true);
getField("GROUPI.P").checkThisBox(0,true);


Bei "GROUPI" schreibt er keine Fehlermeldung, jedoch wählt er aber
auch kein anderes Kontrollkästchen aus.

Ebenso habe ich es leider nicht hinbekommen, dass die anderen Felder wieder deaktiviert werden, wenn das Kontrollkästchen wieder ausgeklickt wird. Hier habe ich versucht statt "0,true" ein "0,false" einzufügen, ebenso "1,false" nach "else"…eventuell habe ich hier noch nicht die richtige Quelle gefunden um nachzulesen? Beim Formular zurücksetzen klappt das dann allerdings super, das beim "readonly" nicht geklappt hat.

http://we.tl/JWIdensGFl
PDF Upload über wetransfer.com

PS. das mit dem simplen Einzeiler hab ich noch nicht so ganz raus… aber bin erst am Anfang mit dem "Try and Error"-Prinzip :) Vielen Dank hierfür für die Hilfe beim Lernen. Btw. hast du da eine


als Antwort auf: [#539185]

Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

MurphysLaw
Beiträge gesamt: 588

28. Apr 2015, 12:29
Beitrag # 6 von 17
Beitrag ID: #539216
Bewertung:
(7900 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also eine Art "Toggle alle" Checkbox?
Hatte ja deine PDF noch. War kniffliger als gedacht, habe es letztendlich etwas krude gelöst, aber funktioniert:
Code
var felder=new Array("B","C","D","E","F","H"); 
if(event.target.value == "Off"){
for(i=0;i<6;i++){
var feld="GRUPPE.Feld" + felder[i];
this.getField(feld).checkThisBox(0, false);
}
}
else{
for(i=0;i<6;i++){
var feld="GRUPPE.Feld" + felder[i];
this.getField(feld).checkThisBox(0, true);
}
}
this.getField("GRUPPE").readonly = (event.target.value == "Off");


:-)

________________________________________

Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: Das ist technisch unmöglich! (Sir Peter Ustinov)


als Antwort auf: [#539214]

Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

MurphysLaw
Beiträge gesamt: 588

28. Apr 2015, 13:22
Beitrag # 7 von 17
Beitrag ID: #539218
Bewertung:
(7875 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Oh sh... Habe das "G" im Array vergessen! o_O

Code
var felder=new Array("B","C","D","E","F","G","H");  
if(event.target.value == "Off"){
for(i=0;i<7;i++){
var feld="GRUPPE.Feld" + felder[i];
this.getField(feld).checkThisBox(0, false);
}
}
else{
for(i=0;i<7;i++){
var feld="GRUPPE.Feld" + felder[i];
this.getField(feld).checkThisBox(0, true);
}
}
this.getField("GRUPPE").readonly = (event.target.value == "Off");


________________________________________

Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: Das ist technisch unmöglich! (Sir Peter Ustinov)


als Antwort auf: [#539216]

Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

sacrifice_87
Beiträge gesamt: 7

28. Apr 2015, 13:38
Beitrag # 8 von 17
Beitrag ID: #539220
Bewertung:
(7873 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Super vielen lieben Dank!
Jetzt weiss ich, wann ich Variablen verwenden kann :)

Einzig der Debugger zeigt mir jetzt noch eine Fehlermeldung an:
TypeError: this.getField(feld) is null
11:Field:Mouse Up

Da der Code aber funktioniert, kann man das einfach ignorieren?


als Antwort auf: [#539216]

Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

MurphysLaw
Beiträge gesamt: 588

28. Apr 2015, 14:02
Beitrag # 9 von 17
Beitrag ID: #539222
Bewertung: |||
(7845 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Könntest Du ignorieren. Keine Ahnung warum da ein Fehler kommt, sollte eigentlich passen.
Wenn's dich nervt, sollte das hier den Fehler beseitigen:
Code
var felder=new Array("B","C","D","E","F","G","H");   
if(event.target.value == "Off"){
for(i=0;i<7;i++){
try{
var feld="GRUPPE.Feld" + felder[i];
this.getField(feld).checkThisBox(0, false);
}
catch(e){
}
}
}
else{
for(i=0;i<7;i++){
try{
var feld="GRUPPE.Feld" + felder[i];
this.getField(feld).checkThisBox(0, true);
}
catch(e){
}
}
}
this.getField("GRUPPE").readonly = (event.target.value == "Off");


________________________________________

Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: Das ist technisch unmöglich! (Sir Peter Ustinov)


als Antwort auf: [#539220]

Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

sacrifice_87
Beiträge gesamt: 7

28. Apr 2015, 14:12
Beitrag # 10 von 17
Beitrag ID: #539223
Bewertung:
(7838 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen lieben Dank für deine Mühen und die tollen Antworten. Hast mir sehr geholfen :)


als Antwort auf: [#539222]

Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

kay84
Beiträge gesamt: 4

2. Sep 2019, 10:06
Beitrag # 11 von 17
Beitrag ID: #571708
Bewertung:
(3014 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, ich habe ein ähnliches Problem. Leider habe ich gar keine Ahnung von Java oder von der herangehensweise...

Und zwar habe ich eine PDF mit 16 Check Boxen, wobei diese in 5 verschiedene Gruppen unterteilt sind, welche unabhänig von einander sind.

Für jede Gruppe würde ich gern sobald eine Checkbox ausgewählt wurde die anderen deaktivieren, bzw. falls wieder eine andere angewählt wird die anderen deaktivieren usw.

Meine Gruppe 1 besteht aus den den folgenden Checkboxen:

ChkBox
ChKBox2
ChKBox5
ChKBox7

Die Gruppe 2 besteht aus den folgenden Checkboxen:

ChKBox0
ChKBox1
ChKBox3
ChKBox4
ChKBox6
ChKBox8

Die Gruppe 3 besteht aus folgenden Checkboxen:

ChKBox9
ChKBox10

Die Gruppe 4 besteht aus folgenden Checkboxen:

ChKBox11
ChKBox12

Die Gruppe 5 besteht aus folgenden Checkboxen:

ChKBox13
ChKBox14

Kann mir vielleicht jemand mit meinem Problem weiterhelfen ?

Grüße Kay


als Antwort auf: [#539223]
(Dieser Beitrag wurde von kay84 am 2. Sep 2019, 10:12 geändert)

Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

taunus11
Beiträge gesamt: 598

2. Sep 2019, 10:44
Beitrag # 12 von 17
Beitrag ID: #571711
Bewertung:
(3000 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Man kann dafür einfach Gruppen von Optionsfeldern verwenden.


als Antwort auf: [#571708]

Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

kay84
Beiträge gesamt: 4

2. Sep 2019, 10:54
Beitrag # 13 von 17
Beitrag ID: #571712
Bewertung:
(2996 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich glaube, dass ich mich falsch ausgedrückt habe.

Also jede Gruppe soll unabhängig voneinander sein, also wenn ich bspw. in der Gruppe 1 die ChkBox 2 auswähle, sollen alle anderen Checkboxen der Gruppe 1 Gruppe deaktiviert werden.
Dies soll aber keine Auswirkungen auf die anderen Gruppen haben.


als Antwort auf: [#571711]
(Dieser Beitrag wurde von kay84 am 2. Sep 2019, 10:55 geändert)

Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

taunus11
Beiträge gesamt: 598

2. Sep 2019, 11:22
Beitrag # 14 von 17
Beitrag ID: #571713
Bewertung:
(2987 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Für jede Gruppe eine eigene Gruppe von Optionsfeldern verwenden.


als Antwort auf: [#571712]

Acrobat X Javascript: Per Kontrollkästchen eine Gruppe deaktivieren

kay84
Beiträge gesamt: 4

2. Sep 2019, 11:45
Beitrag # 15 von 17
Beitrag ID: #571714
Bewertung:
(2977 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich habe leider überhaupt keine Ahnung, wie ich das ganze angehen soll.


als Antwort auf: [#571713]
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
29.10.2020

Ortsunabhängig
Donnerstag, 29. Okt. 2020, 10.00 - 10.30 Uhr

Webinar

Wir stellen Ihnen in diesem kostenlosen ca. 30-minütigen Webinar das neueste Produkt aus dem Hause Enfocus vor. Enfocus bringt mit BoardingPass eine pfiffige Lösung auf den Markt, welche eingehende Daten auf die wichtigsten druckrelevanten Kriterien hin gleich im Mail-Browser prüfen lässt. Mit BoardingPass sind auch Kundenberater und Avor-/Vertriebs-Mitarbeiter in der Lage, eingegangene Druckdaten innerhalb ihres Mail-Programmes sofort zu prüfen und dem Auftraggeber eine leicht verständliche Rückmeldung über diese zu geben. Die Druckdaten müssen also gar nicht erst über den internen Workflow des Druckdienstleisters laufen, sondern können direkt auf druckrelevante Kriterien geprüft und auch begutachtet werden.

Ja

Organisator: Impressed GmbH

Kontaktinformation: E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=292

Enfocus BoardingPass
Veranstaltungen
02.11.2020 - 03.11.2020

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Montag, 02. Nov. 2020, 08.30 Uhr - Dienstag, 03. Nov. 2020, 17.00 Uhr

Kurs

Dieser Basic-Kurs ist der perfekte Einstieg in die Welt von InDesign, dem vielseitigen Layout-Programm. Sie lernen, wie InDesign aufgebaut ist, wie saubere Dokumente erstellt werden und wie man korrekt mit gelieferten InDesign-Projekten umgeht.

Preis: CHF 1'400.-
Dauer: 2 Tage

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/desktop-publishing/adobe-indesign-cc/kurs-indesign-cc-basic

Neuste Foreneinträge


Warum kommt Fehlermeldung "Wacom-Treiber" beim Start?

Affinity Designer Objekte auswählen

Bestimmte PDF-Kommentare löschen

Affinity Photo und Photoshop: HSL-Farbbereich als Maske speichern

Buchdateien kopieren

Werkzeugleiste und Bedienfelder sind verschwunden

Wie importiere ich eine Word Datei mit Fussnoten in Indesign?

PDF Export mit Briefpapier einfügen

Pantone - reiner Buntaufbau

Flächendeckung einer Datei
medienjobs