Namen von aktivierten Checkboxen in Liste sammeln

Die Möglichkeiten und Tücken von Formularen
Antworten
Pug79
Beiträge: 5
Registriert: 01.02.2021, 15:09

Namen von aktivierten Checkboxen in Liste sammeln

Beitrag von Pug79 » 01.02.2021, 15:24

Hallo,

ich versuche mal mein Problem zu beschrieben.
Ich möchte in der angehängten PDF am Ende eine Liste aller aktivierten Checkboxen erstellen.
Die Checkboxen auf der rechten Seite sind Pflegediagnosen und die gesamte PDF sozusagen das Eingangsscreening, am Ende wird daraus die Pflegeplanung erstellt. Um es für die Mitarbeiter übersichtlicher zu gestalten versuche ich gerade am Ende der PDF ein Textfeld entstehen zu lassen, welches die angekreuzten Diagnosen sammelt...hoffe das war verständlich.
Nun hab ich leider keine besondere Ahnung von Java und PDFs, bin durch Suche im Internet bisher soweit, das ich die Checkboxen mit folgendem JavaScript hinterlege:

if (this.getField("Coping der Famile: beeinträchtigt").value != "On") {
this.getField("gesammelte Diagnosen").value = "Coping der Famile: beeinträchtigt"
// the box is checked
// do what should be done when the box is checked
} else {
// the box is not checked
// do what should be done when the box is not checked
}
if (this.getField("Coping der Famile: beeinträchtigt").value != "Off") {
this.getField("gesammelte Diagnosen").value = " "
// the box is checked
// do what should be done when the box is checked
} else {
// the box is not checked
// do what should be done when the box is not checked
}

Sicherlich ist das grundverkehrt, deswegen habe ich inzwischen auch aufgegeben.

Die Diagnose wird zwar nach anklicken der Checkbox eingetragen, aktiviere ich aber die nächste Checkbox wird das ganze überschrieben. Außerdem löscht sich der Eintrag nicht, falls ich die Box erneut anklicke(unchecke)...

Vielleicht kann mir irgend jemand mit einer simplen Methode helfen, da es ne Menge Checkboxen sind oder mir einfach sagen das ist zu kompliziert und funktioniert nie :)

Im hochgeladenen Beispiel habe ich die letzte beiden Checkboxen auf Seite 8/9 bearbeitet : Coping der Familie: beeinträchtigt
Entwicklung der Ressourcen

die Ergebnisse sollten auf der letzten Seite im Textfeld: gesammelte Diagnosen untereinander auftauchen.

Vielen Dank
Pug
PDAOB Forum.pdf
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
Menni
Beiträge: 65
Registriert: 18.12.2019, 14:47

Re: Namen von aktivierten Checkboxen in Liste sammeln

Beitrag von Menni » 04.02.2021, 14:22

Hallo Pug,

mit folgendem Code (im Textfeld "gesammelte Diagnosen" -> benutzerdef. Berechnungsskript) könntest du es z.B. realisieren:

Code: Alles auswählen

event.value = diagnosticSummary();

function diagnosticSummary(){
	var dSum = "";
	
	for (var i = 0; i < this.numFields; i++){
		var fName = this.getNthFieldName(i);
		var f = this.getField(fName);
		
		if(f.type == "checkbox" && f.isBoxChecked(0)){
			dSum += "- " + f.name + "\n";			//anstatt "f.name" würde ich "f.userName" 
									benutzen, was dem Text der QuickInfo entspricht 
									und an diesen Stellen entsprechend 
									aussagekräftigen Text hinterlegen, um die 
									Feldnamen möglichst kurz und eindeutig halten zu 
									können.
		}
	}
	return dSum;
}
Habe es in deinem PDF schon mal eingebaut (siehe Anhang). Kannst du dir ja mal anschauen und testen. Ein paar Anpassungen wären dann noch an den Checkboxen nötig (zum Teil vllt. Radiobuttons verwenden? Namensgebung?). Aber vom Grundprinzip müsste es so funktionieren wie du möchtest.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Pug79
Beiträge: 5
Registriert: 01.02.2021, 15:09

Re: Namen von aktivierten Checkboxen in Liste sammeln

Beitrag von Pug79 » 04.02.2021, 18:12

Hallo,

wow Super! Vielen Dank Menni.

Auf den ersten Blick funktioniert es genau so wie ich es mir vorgestellt habe.
Ich werde mir das heute Abend mal genauer anschauen und die Checkboxen alle richtig benennen.

Wenn ich Radiobuttons richtig verstehe brauche ich die nicht, da Mehrfachauswahl ok ist. Denke die Checkboxen sollten das gewünscht Ergebnis erzeugen.

Vielen Dank nochmal für die kompetente Hilfe.

Pug

Benutzeravatar
Menni
Beiträge: 65
Registriert: 18.12.2019, 14:47

Re: Namen von aktivierten Checkboxen in Liste sammeln

Beitrag von Menni » 05.02.2021, 14:13

Super! Gern geschehen.

:idea: Tipp noch (den auch in den Code-Ausschnitt in meinem ersten Post geschrieben habe): benutze die QuickInfos für die Zusammenfassung am Ende. Nicht die Feldnamen!

Pug79
Beiträge: 5
Registriert: 01.02.2021, 15:09

Re: Namen von aktivierten Checkboxen in Liste sammeln

Beitrag von Pug79 » 08.02.2021, 18:48

Abend,


noch eine kurze Frage, gibt es Möglichkeiten Checkboxen auszuschließen? Zum Bsp. das Brille nicht in der Liste unten auftaucht, da keine Diagnose?

Danke Pug79

Benutzeravatar
Menni
Beiträge: 65
Registriert: 18.12.2019, 14:47

Re: Namen von aktivierten Checkboxen in Liste sammeln

Beitrag von Menni » 15.02.2021, 12:48

Nicht ausgewählte Checkboxen erscheinen auch nicht in der Zusammenfassung. Also wenn zum Beipspiel weder "Brille" noch "Kontaktlinsen" ausgewählt wurde, erscheint davon natürlich auch nichts.

Pug79
Beiträge: 5
Registriert: 01.02.2021, 15:09

Re: Namen von aktivierten Checkboxen in Liste sammeln

Beitrag von Pug79 » 15.02.2021, 13:25

Hallo, danke für die Antwort

Mir ist bewusst, das nur in der Liste erscheint was ich auch anklicke.
Kann ich die Checkboxen aber so einstellen das sie nicht in der Liste erscheinen auch wenn ich sie anklicke.
Zum Bsp. Brille ist ja keine Pflegediagnose, muss aber unter Umständen aktiviert werden.

Danke

Benutzeravatar
Menni
Beiträge: 65
Registriert: 18.12.2019, 14:47

Re: Namen von aktivierten Checkboxen in Liste sammeln

Beitrag von Menni » 15.02.2021, 13:54

Jetzt verstehe ich was du meinst. :D
Ja, natürlich. Da gibt es aber dann verschiedene Möglichkeiten und Wege das zu realisieren.
Z.B indem man noch eine Bedingung hinzufügt, dass der Name der Checkbox einen gewissen Text enthalten muss oder ähnliches. Oder andersherum, dass gewisse Checkboxen von der Prüfung ausgenommen werden, wenn ... . Da führen viele Wege nach Rom. ;)

Pug79
Beiträge: 5
Registriert: 01.02.2021, 15:09

Re: Namen von aktivierten Checkboxen in Liste sammeln

Beitrag von Pug79 » 15.02.2021, 15:06

Gibt es denn einen einfachen, für mich :mrgreen: durchführbaren Weg, oder ein Tipp wo ich nachschauen könnte?
Ein Bsp vielleicht für den Weg, das nur Checkboxen mit bestimmten Namen gelten ?

Sry für die Mühen mit mir.
Pug79

Benutzeravatar
Menni
Beiträge: 65
Registriert: 18.12.2019, 14:47

Re: Namen von aktivierten Checkboxen in Liste sammeln

Beitrag von Menni » 15.02.2021, 16:13

Wenn es nur um "ein paar wenige" Checkboxen geht, könntest du diese z.B. konkret ausschließen.

Würde dann zum Beispiel so funktionieren (bezogen auf die ersten 8 Checkboxen in deinem Formular):

Code: Alles auswählen

var exclChk = ["0K", "UK", "Brille", "Kontakt", "re", "li", "j", "ne"];

event.value = diagnosticSummary();

function diagnosticSummary(){
	var dSum = "";
	
	for (var i = 0; i < this.numFields; i++){
		var fName = this.getNthFieldName(i);
		var f = this.getField(fName);
		var eCkb = false;
		
		for(var j = 0; j < exclChk.length; j++){
			if(fName == exclChk[j]){
				eCkb = true;
			}
		}
		
		if(f.type == "checkbox" && f.isBoxChecked(0) && eCkb == false){
				dSum += "- " + f.name + "\n";
		}
	}
	return dSum;
}

Antworten