[GastForen Programme Web/Internet PDF Grundlagen / Web / eForms Kontrollkästchen als Pflichtfeld

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

Kontrollkästchen als Pflichtfeld

ninjagame
Beiträge gesamt: 9

18. Jan 2010, 11:10
Beitrag # 1 von 11
Bewertung:
(26154 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

ich soll ein ausfüllbares PDF-Formular erstellen und dabei sicherstellen, dass alle Kontrollkästchen (checkbox) angekreuzt sind, bevor das Formular gespeichert bzw. abgesandt wird. Im Gegensatz zu Textfeldern, wo man da noch "erforderlich" ankreuzen kann, ist diese Option bei Kontrollkästchen nicht verfügbar. Frage:
Wie schaff ich's? Brauche ich dazu ein JavaScript? Wenn ja - wie müsste das aussehen?

Danke!
X

Kontrollkästchen als Pflichtfeld

MurphysLaw
Beiträge gesamt: 588

18. Jan 2010, 11:48
Beitrag # 2 von 11
Beitrag ID: #430541
Bewertung:
(26130 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Howdy!

Ja, das geht m.E. nur mit Javascript.
Also mach am besten zwei Schaltflächen "E-Mail" bzw "Speichern" und hinterlege dort ein JS. Zum Prüfen vor Verschicken per E-Mail sollte das Skript so oder so ähnlich aussehen:
Code
allgood(); 
function allgood()
{
var mel;
mel=""
for (var i=0;i<this.numFields;i++)
{
var fName=this.getNthFieldName(i);
var f=this.getField(fName);
if ((f.type = "checkbox") && !(f.checked))
{
mel=mel + fName + ", ";
}
}
if (mel==""){
app.execMenuItem("AcroSendMail:SendMail");
}
else
{app.alert("Pflichtfelder nicht angekreuzt! Bitte folgende Checkboxen bestätigen: " + mel);
}
}

Zum Speichern einfach diese Zeile:
Code
app.execMenuItem("AcroSendMail:SendMail"); 

durch diese ersetzen:
Code
app.execMenuItem("Save"); 


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: [#430531]

Kontrollkästchen als Pflichtfeld

ninjagame
Beiträge gesamt: 9

18. Jan 2010, 13:17
Beitrag # 3 von 11
Beitrag ID: #430559
Bewertung:
(26104 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Erst mal herzlichen Dank für die Hilfe und Mühe!
Ich habe ein kleines Problem damit. Vielleicht kommt das auch daher, dass ich mein Anliegen nicht klar genug formuliert habe.
Ich bin mir nicht sicher, wo ich das Script einbauen muss. Ich hab es jetzt mal im Dialogfeld "Kontrollkästchen - Eigenschaften" unter dem Reiter "Aktionen" bei "JavaScript ausführen" eingesetzt. Nur kommt nun der Warnhinweis jedes Mal, wenn ich in das Kontrollkästchen klicke, und er fordert mich ausdrücklich auf, jedes bislang existierende Feld zu checken. Das wollte ich ja nicht; ich wollte, dass man beim Speichern bzw. Beenden des Formulars die Meldung bekommt.
Muss ich da vielleicht eine eigene Schaltfläche "Speichern" einrichten?

Vielen Dank und viele Grüße

ninjagame


als Antwort auf: [#430541]

Kontrollkästchen als Pflichtfeld

mk-will
Beiträge gesamt: 1211

18. Jan 2010, 13:57
Beitrag # 4 von 11
Beitrag ID: #430563
Bewertung:
(26087 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo ninjagame,

vielleicht solltest Du nochmal über die Anforderung
Zitat ... sicherstellen, dass alle Kontrollkästchen (checkbox) angekreuzt sind ...

nachdenken.
Oder etwas genauer erklären, worum es eigentlich geht.

Nach meiner Meinung sind Checkboxen dazu da, bestimmte Fragen/Vorschläge anzunehmen.
Bspw. "Wollen Sie unseren Newsletter erhalten? Falls ja, bitte ankreuzen." wird per einzelner Checkbox aktiviert (oder eben nicht).

Jetzt zu definieren, daß alle Checkboxen vor dem Speichern angekreuzt sein müssen, erscheint mit widersinnig.

Gruß
Stephan


als Antwort auf: [#430559]

Kontrollkästchen als Pflichtfeld

ninjagame
Beiträge gesamt: 9

18. Jan 2010, 14:20
Beitrag # 5 von 11
Beitrag ID: #430572
Bewertung:
(26081 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

Du hast völlig recht. Tut mir leid, dass ich so unqualifiziert formuliere - ich bin leider noch ziemlich neu in dem Gebiet.
Das "alle Kontrollkästchen" war natürlich nicht klar genug formuliert.
Also: Ich habe mehrere Textfelder, in die etwas eingetragen werden MUSS.
Außerdem habe ich mehrere Checkboxes. Von diesen sollen einige so ausgelegt sein, dass ich zwischen den Optionen A oder B einerseits auswählen KANN, andererseits aber eben auch eine der beiden Optionen auswählen MUSS. Andere wiederum sollen so ausgelegt sein, dass ich eine oder zwei Optionen auswählen KANN, mindestens aber eine auswählen MUSS.
Nun möchte ich sicherstellen, dass der Benutzer, der das Formular ausfüllt, in alle Textfelder etwas eingetragen und bei den Kontrollkästchen jeweils die entsprechenden Optionen ausgewählt hat. Wenn er das Formular speichern will und noch eine Angabe fehlt, soll er auf diese Tatsache hingewiesen werden.
Ich hoffe, das ist jetzt etwas deutlicher.

Gruß
ninjagame


als Antwort auf: [#430563]

Kontrollkästchen als Pflichtfeld

mk-will
Beiträge gesamt: 1211

18. Jan 2010, 14:31
Beitrag # 6 von 11
Beitrag ID: #430580
Bewertung:
(26075 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo ninjagame,

der Nebel lichtet sich. ;-)

Frage: mit welchem Programm soll das gelöst werden?
Es schreit geradezu nach LiveCycle Designer.

Ich gehe mal davon aus, Daß Du Acrobat nutzt.
Welche Version/OS?

Textfelder: kein Problem

Checkboxen:
Geht nur per JavaScript.
Dafür einen Speichern-Button anlegen, der dann ein JavaScript startet, das alle festgelegten Checkboxen gemäß der Vorgaben (A oder B / 1 oder 2 bzw. 1+2) prüft.

Problem: wird statt des Speichern-Buttons der Menü-Befehl benutzt, läuft die Prüfung ins Leere.

Gruß
Stephan


als Antwort auf: [#430572]

Kontrollkästchen als Pflichtfeld

ninjagame
Beiträge gesamt: 9

18. Jan 2010, 15:03
Beitrag # 7 von 11
Beitrag ID: #430586
Bewertung:
(26057 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

ja, es schreit nach LifeCycle Designer. Davon hab ich hier eine Demo liegen, vor deren Installation ich im Moment noch etwas zurückscheue, da ich nicht weiß, ob ich mich während der Demo-Frist ausgiebig genug damit beschäftigen kann. Die Vollversion kostet Geld; also brauche ich meinem Scheff vorerst gar nicht damit zu kommen.
Ich arbeite am Mac mit Acrobat 8. (LifeCycle Designer würde ich dann auf der Parallels-Partition auf der Windows-Oberfläche installieren. Wäre kein Problem, wenn ich wüsste, wo hinfassen.)
Die Idee mit dem Speichern-Button hatte ich auch schon - mit denselben Bedenken, wie Du sie äußerst. Allerdings würde mich das im Zweifelsfall nicht davon abhalten, den Button einzubauen - ebenso wie einen Button, der das ganze Formular zurücksetzt.
Nun habe ich aber folgendes bemerkt: Wenn ich bei den Textfeldern unter Textfeld-Eigenschaften "erforderlich" checke, bekommt das Feld zwar einen roten Rand - ich bekomme aber immer noch keine Warnung beim Speichern bzw. Beenden, wenn in das Feld nichts eingetragen ist. Was mache ich falsch oder übersehe ich?
Das mit den JavaScripts würde ich wahnsinnig gerne besser können; Schulung steht aber nicht zur Debatte. Wie würde ich das im Fall des "Speichern"-Button anstellen?

Gruß

ninjagame


als Antwort auf: [#430580]

Kontrollkästchen als Pflichtfeld

MurphysLaw
Beiträge gesamt: 588

18. Jan 2010, 15:44
Beitrag # 8 von 11
Beitrag ID: #430594
Bewertung:
(26048 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vorschlag:

1.) Lege dir ein unsichtbares Textfeld an (kein Rahmen, Hintergrund weiß, Schrift weiß), als Startwert (Default value) gibst du die Anzahl deiner Pflichtfelder an.

2.) Ein Mini-JS hinter jeder Checkbox, das - falls das Pflichtfeld gerade aktiviert wurde, den Wert im unsichtbaren Textfeld um 1 erniedrigt

3.) Meinen Schaltflächencode so anpassen, dass lediglich das textfeld geprüft wird. Ist sein Wert = 0, dann sind alle Pflichtkästchen aktiviert.

;-)

________________________________________

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: [#430572]
(Dieser Beitrag wurde von MurphysLaw am 18. Jan 2010, 15:44 geändert)

Kontrollkästchen als Pflichtfeld

mk-will
Beiträge gesamt: 1211

18. Jan 2010, 16:39
Beitrag # 9 von 11
Beitrag ID: #430598
Bewertung:
(26032 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo ninjagame,

bedauerlich, daß Du Acrobat Pro für den Mac hast.
Die Windows-Version hat den Designer dabei ...

Zitat Allerdings würde mich das im Zweifelsfall nicht davon abhalten, den Button einzubauen

Das mußt auch, da es anders nicht lösbar ist.


Zitat Wenn ich bei den Textfeldern unter Textfeld-Eigenschaften "erforderlich" checke, bekommt das Feld zwar einen roten Rand - ich bekomme aber immer noch keine Warnung beim Speichern bzw. Beenden, wenn in das Feld nichts eingetragen ist.

Die Prüfung erfolgt nur, wenn per eigenem Button das Drucken oder das Versenden gestartet wird.
Wenn die Prüfung auch vor einem Speichern erfolgen soll, muß hier ebenfalls ein JavaScript aktiv werden.


Zitat Das mit den JavaScripts würde ich wahnsinnig gerne besser können;

Das mußt Du auch, sonst kommst Du nicht weit.


Zitat Schulung steht aber nicht zur Debatte.

Schlecht.
Alternative: selbst beibringen.

Gruß
Stephan


als Antwort auf: [#430586]

Kontrollkästchen als Pflichtfeld

Max Wyss
Beiträge gesamt: 532

18. Jan 2010, 20:54
Beitrag # 10 von 11
Beitrag ID: #430627
Bewertung:
(25987 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ninjagame,

entgegen anderen Aussagen in diesem Thread ist LiveCycle Designer für diese Anwendung absolut unnötig und kontraproduktiv (mein Kommentar zu den betreffenden Aussagen ist für dieses Forum nicht geeignet).

Das Ganze kann mit Bordmitteln von Acrobat (welche Acrobat JavaScript einschliessen) bewerkstelligt werden. Das heisst im Klartext, dass die Formularfeldwerkzeuge eingesetzt werden (in Acrobat 9 muss hierzu in den Formularerstellungsmodus umgeschaltet werden).


Erst einmal etwas grundsätzliches zu Checkboxen (auf "deutsch" heisst dies Kontrollkästchen) und Radiobuttons:

Hinweis: unter "widgets" verstehe ich hier ein Formularelement, welches ein- oder ausgeschaltet sein kann.

Radiobuttons: Ein Satz von 2 oder mehr widgets, bei denen genau eine der zugehörigen sich gegenseitig ausschliessenden Optionen gewählt werden MUSS. (keine Wahl ist daher ungültig).

Checkboxes: Ein Satz von 1 oder mehr widgets, bei denen genau eine der zugehörigen sich gegenseitig ausschliessenden Optionen gewählt werden KANN. (keine Wahl ist daher gültig). Checkboxen können zudem so angeordnet werden, dass sie eine Gruppe von mehreren voneinander unabhängigen Optionen darstellen. Hier besteht jedoch keine direkte logische Beziehung zwischen den widget-Sätzen.

Das Aussehen der widgets ist in obiger Definition unwichtig.

Der Unterschied ist also einzig darin, dass bei Checkboxen "keine Auswahl" gültig sein darf. Was nun in Frage kommt, hängt von den Resultaten der Formularanalyse ab.

In Acrobat können beide Funktionalitäten mit Checkboxes implementiert werden (das Aussehen kann entsprechend gewählt werden); wenn jedoch "keine Wahl" ungültig ist, kann zum Verringern des Codieraufwandes auf Radiobuttons zurückgegriffen werden. Grundsätzlich gilt dann, dass der Feldname für die widgets eines Satzes gleich ist, sich jedoch deren return value (der Wert, welcher beim Wählen der Option zurückgegeben wird) unterscheidet.

Nun zu den konkreten Fällen.

Fall 1 ist elementar: Checkboxes, 2 widgets mit unterschiedlichem return value. Und das wärs, was die checkboxen angeht.

In Fall 2 sind die verschiedenen Optionen unabhängig voneinander. Das bedeutet, dass für jede Option eine checkbox mit unterschiedlichem Feldnamen gesetzt werden muss. Damit sichergestellt ist, dass mindestens eine Wahl getroffen worden ist, muss diese Ansammlung von checkboxen ausgewertet werden.

Das bringt uns zur Auswertung. Man müsste sich überlegen, ob man nicht besser die Zugänglichkeit der genannten Textfelder über die checkboxen steuern sollte, anstatt die checkboxen über ausgefüllte Textfelder. Der Benutzer müsste dann erst einmal aktiv eine Option anwählen, und dann den Text in das betreffende Feld eingeben. Auch hier hängt es von den Resultaten der Formularanalyse ab, welche Methode zu benutzen ist.

Bei der Auswertung im ersten Fall muss nur kontrolliert werden, ob der Feldwert nicht "nicht gewählt" entspricht. Der Feldwert "nicht gewählt" ist in Acrobat immer und in jedem Fall "Off". Der betreffende Codeabschnitt lautet daher

if (this.getField("myField").value != "Off")

Wenn ja, ist eine Option gewählt, wenn nein, ist keine Option gewählt, und der Benutzer muss daran erinnert werden.

Bei der Auswertung im zweiten Fall muss kontrolliert werden, ob der Feldwert mindestens eines der Felder nicht "Off" ist. Hierbei verwenden wir die OR-Verknüpfung:

if (this.getField("myField1").value != "Off" || this.getField("myField2").value != "Off"...

Damit haben wir die checkbox-Logik abgehandelt.

Für die Anbindung der Felder werten wir in der Textfeld-Priorität (kontrollieren, ob checkbox gewählt, wenn ein Eintrag im zugehörigen Feld) den Wert des Textfelds aus und stellen dann fest, ob der Wert der zugehörigen Checkbox nicht "Off" ist:

if (this.getField("myTextField").value != this.getField("myTextField").defaultValue) {
if (this.getField("myCheckField").value != "Off")

Wenn die Bedingungen erfüllt sind, ist es OK, anderenfalls muss eine Erinnerung ausgegeben werden.

Bei Checkbox-Priorität geht es gerade umgekehrt (und die beiden Codezeilen sind vertauscht). Zusätzlich können wir das Textfeld je nach dem ein-und ausblenden und beim Ausblenden sogar noch zurücksetzen. Weitere Attribut-anpassungen sind zudem auch möglich.


Die Auswertung wird am einfachsten über eine Schaltfläche ausgelöst, welche die gewünschte Aktion auslöst (speichern, drucken, übermitteln), und die Aktion nur startet, wenn sämtliche Auswertungen ein erwünschtes Resultat zeigen.


Wie gesagt, das ganze kann mit den Formularfeldwerkzeugen von Acrobat gemacht werden... und das geht problemlos auf Mac (ich habe diesbezüglich über ein Jahrzehnt Erfahrung).

HTH.


als Antwort auf: [#430572]

Kontrollkästchen als Pflichtfeld

ninjagame
Beiträge gesamt: 9

18. Jan 2010, 22:42
Beitrag # 11 von 11
Beitrag ID: #430634
Bewertung:
(25969 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Max,

ich würde gerne morgen früh noch einmal ausführlicher antworten, wenn ich in der Firma am Rechner sitze und alles nachvollziehen kann; erst mal recht herzlichen Dank für den ausführlichen Beitrag.

ninjagame


als Antwort auf: [#430627]
X

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
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

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

Enfocus World Tour 2022
Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

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

Enfocus World Tour 2022