Antworten auf deine Fragen:
Neues Thema erstellen

Bestimme Funktionen für Formulare möglich?

liliengrafie

Noch nicht viel geschrieben

Hallo zusammen,

ich muss für einen Kunden ein Formular erstellen. Bei den Anforderungen der Funktionen komme ich an zwei Stellen an meine Grenzen und kann auch über Recherche nichts finden:

Das PDF soll über den Senden-Button nur geschickt werden können, wenn alle Pflichtfelder ausgefüllt sind. Soweit so gut. Aber ich habe mehrere Stellen mit Kontrollkästchen, bei denen eine Mehrfachauswahl möglich sein soll. Senden soll man aber erst dürfen, wenn mindestens eins angeklickt ist. Verständlich?

Das geht vermutlich nur über ein Skript? Da bin ich leider nur rudimentär in der Lage, also eigentlich gar nicht. Wenn ja, wie finde ich jemanden, der mir da weiterhelfen kann (muss nicht kostenlos sein), also wonach suche ich?

Zweite Anforderung, an der ich scheitere: 3 Optionsfelder. Bei Optionsfeld 2 und 3 soll jeweils ein E-Mail-Feld erscheinen, wenn es angeklickt ist. Und wenn dieses E-Mail-Feld erschienen ist, soll es ein Pflichtfeld sein, das nicht gesendet werden kann, wenn es nicht ausgefüllt ist. D.h. wenn ich Optionsfeld 1 ankreuze, passiert nichts weiter. Bei Feld 2 und 3 soll ein Feld erscheinen, das je ein Pflichtfeld ist. Die 3 Optionsfelder an sich sollen auch Pflichtfelder sein, also hier muss eines ausgewählt sein (nicht mehr und nicht weniger). Machbar?

Ich hoffe sehr auf Eure Hilfe und bedanke mich schon jetzt!

Susanne
 

Design & Layout

helge07

Aktives Mitglied

Wenn ich die Problemstellung richtig verstanden habe, könnte die Lösung folgendermaßen aussehen:
(Die Feldnamen beziehen sich auf das kleinen Testbeispiel, das ich dazu gebastelt und hier bereitgestellt habe):

1. Eine Optionsfeldgruppe "Option" wird benutzt um eines von mehreren optionalen Eingabefeldern zu aktivieren. Beim Aktivieren einer Option wird das zugehörige Textfeld "OptionstextX" aktiviert und ein Flag "OptionX_active" gesetzt.

2. Beim Betätigen des Sendebutton wird mit einer MouseUP-Aktion eine Prüfung der Feldinhalte durchgeführt. Hier habe ich nur das Ergebnis im Feld "Meldung" dargestellt. Abhängig davon kann hier gesendet werden oder nicht.

3. Wenn die Maus den Sende-Button verlässt wird die Meldung gelöscht.
 

liliengrafie

Noch nicht viel geschrieben

Hallo Helge,

danke Dir für die Mühe. Deiner Ausführung nach sollte es so funktionieren, aber ich bin trotzdem mit Skripten echt hilflos (Notiz an mich: sobald es die Auftragslage hergibt, Fortbildung in Programmierung ...). Wenn ich Dein Skript testen möchte, an welchem Formularfeld füge ich es ein? *sorry

Ich habe mal das Dokument ohne Logo etc. hochgeladen (hoffe, die Freigabe für alle hat funktionier):

Unter Punkt 1. "Variante" gibt es 7 Kästchen. Eines davon soll mindestens ausgewählt sein, damit es verschickt werden kann. Es dürfen aber auch mehrere ausgewählt sein.

Beim Absatz "Versand" muss genau eines der drei Kästchen angeklickt sein, erst dann darf man schicken. Bei "Versicherte Person" und "Firma" sollte jeweils das E-Mail-Feld erst erscheinen, wenn man das entsprechende Häkchen setzt. Und erst wenn es erschienen ist, ist es ein Pflichtfeld.

Wie gesagt, es wäre theoretisch möglich, das als kleinen Auftrag zu vergeben.

Danke!
 

helge07

Aktives Mitglied

Ich habe das Formular abgeholt und die Überprüfung der Bedingungen eingebaut. Das scheint auch zu funktionieren. Allerdings kämpfe ich noch mit dem Sende-Mechanismus per "mailto". Hier schon mal die Zwischenversion: ist die (bis aufs Senden) so OK?:


theoretisch möglich, das als kleinen Auftrag zu vergeben
Nein, das wäre nicht im Sinne der Spielregeln des Forums.

Jetzt funktioniert auch das Versenden des Formulars als PDF-Anhang mit einem aktuellen Adobe Reader:


Ich habe als Zieladresse eine mailinator-Wegwerfadresse eingestellt, d.h. man sollte eine dort eingehende Mail nicht lange herumliegen lassen, weil sie jeder sehen kann.

Noch einige Anmerkungen:
1. Falls die Bedingungen nicht erfüllt sind, wird nur ein kurzer Hinweis angezeigt. Man sollte einen aussagekräftigeren Hinweis anzeigen.
2. Den Versand mit den verschiedenen Mail-Mechanismen von Acrobat halte ich für problematisch, weil
- Adobe an den Sicherheitsmechanismen dafür ständig herumbastelt und ältere Versionen der Reader dabei streiken.
- Bei den meisten Mechanismen ein funktionierende Mail-Client auf dem Anwender-Rechner benötigt wird und das oft nicht der Fall ist.
- Das Original-Formular ohne elektronische Unterschrift vom Empfäger verändert werden kann. Besser wäre es, das Furmular auf der Absenderseite als PDF-Datei zu drucken und diese dann zu Fuss zu mailen.
 
Zuletzt bearbeitet von einem Moderator:

liliengrafie

Noch nicht viel geschrieben

Nein, das wäre nicht im Sinne der Spielregeln des Forums.

Oh, sorry, war mir nicht bewusst. Dann nehme ich das zurück.

Vielen lieben Dank, ich bin echt begeistert, dass Du Dir die Mühe machst! Und dankbar.

Ich habe es mir heruntergeladen, aber kann es sein, dass es jetzt geschützt ist und ich keine Änderungen mehr vornehmen kann? Was ich ja müsste, z.B. um die Meldung zu ändern oder die Mailadresse oder auch noch Kundenwünsche. Oder mache ich was falsch? Wenn ich die Formularfunktionen aktivieren will, sagt er mir ,dass ich das aufgrund der Sicherheitseinstellungen des Dokumentes nicht kann.
 
Zuletzt bearbeitet von einem Moderator:

liliengrafie

Noch nicht viel geschrieben

Ach klar, mensch, das weiß ich ja auch eigentlich. Manchmal komme ich mit der neuesten Acrobat-Version noch nicht klar (habe ich noch nicht so lange) und verstehe die Meldungen falsch. Aber ist klar und funktioniert jetzt, danke. Ich werde mich im Lauf des Tages damit beschäftigen und mich so oder so nochmal rückmelden, aber bis hierin schon mal ganz lieben Dank! Werde mich in den Foren, in denen ich was beisteuern kann revanchieren. Perfekt! :)

Inzwischen konnte ich das Projekt erfolgreich abschließen. Tausend dank nochmal für die Hilfe, ich bin echt beeindruckt!

Hallo! Wie das so ist, wenn man ein Projekt eigentlich freigegeben hatte ... es kamen noch einige Korrekturwünsche. Ich konnte alles selbst lösen bis auf eine Sache, weil die das Java-Script des Sendebuttons betrifft.

Durch das Script wird zwar abgefragt, ob eines der Kontrollkäschen unter 1 angeklickt wurde, aber nicht überprüft, ob alle anderen Pflichtfelder ausgefüllt wurden. Die restlichen Pflichtfelder sind auch alle unter den Formulareigenschaften als "Erforderlich" gekennzeichnet. Kann man das noch hinzufügen?

Wenn Du mir da nochmal helfen könntest, wäre ich sehr froh! Liegt das PDF-Formular noch vor? Sonst lade ich nochmal eine Variante hoch.

Danke und viele Grüße,
Susanne
 
Zuletzt bearbeitet von einem Moderator:

helge07

Aktives Mitglied

Die aktuellste Version, die mir vorliegt stammt aus meinem Beitrag vom 12.05.2017 10:10.
Darin sind allerdings nur die beiden Felder "3 Beginn" und "Versand" auf erforderlich gesetzt. Das ist sicher nicht der aktuelle Stand, zumal das bei "Versand" nicht sinnvoll ist.

Die Eigenschaft "erforderlich" wird nur von der "submit"-Methode ausgewertet, MaiDoc kann damit nichts anfangen, d.h. man muss die Prüfung zu Fuss durchführen.

Ich habe dazu den Code des "Absenden"-Button ergänzt, um eine "condition3" und prüfe, ob alle Textfelder mit dem Attribut "erforderlich" einen Text haben. Wird die Bedingung in mindestens einem Fall verletzt, wird condition3 = false gesetzt und anstatt des Sendens eine Fehlermeldung erzeugt.

Hier ist eine modifizierte Version mit diesen Änderungen:

Falls auch Felder, die nicht vom Typ "Text" sind (welche?), als erforderlich gelten sollen, müsste man das noch extra prüfen.

Was mir sonst noch aufgefallen ist:
1. Die Felder Email_Text und Email_Text2 können durch Anwender verändert werden! Vorschlag: Beide Felder durch Text im Dokument ersetzen.
2. Pflichtfelder sollten für Anwender erkennbar sein, z.B. mit "*" gekennzeichnet werden.
 

liliengrafie

Noch nicht viel geschrieben

Danke! Es geht nur um Felder vom Typ "Text". Ich kann leider momentan das PDF nicht herunterladen, weil unsere Internetverbindung gestört ist. Ich nehme aber an, dass ich das Script per copy/paste in das aktuelle Dokument übernehmen kann, oder? Denn in der Tat sind inzwischen noch Kleinigkeiten, die das Script nicht betreffen geändert worden. Übrigens auch die zwei Hinweise (E-Mail taucht jetzt als Text und nicht als Feld auf und die Pflichtfelder sind mit * gekennzeichnet). Danke trotzdem auch dafür! Auch den Mailtext habe ich angepasst, der war ja leicht zu ändern.

Wenn ich also das Script ins aktuelle Formular übernehmen kann (den Mailtest kann ich ja erneut ändern), dann sollte es passen! Ich melde mich aber nochmal, wenn ich es herunterladen und testen konnte. Vielen lieben Dank solange!

So, jetzt konnte ich es herunterladen und testen. Wenn ich es ins aktuelle Formular übernehme, funktioniert es leider nicht. Ich habe zwar alle Pflichtfelder ausgefüllt, aber trotzdem darf ich nicht senden und die Meldung kommt.

Daher hier nochmal ein Link zum aktuellen Formular schon mit neuem Script:

Mir ist auch aufgefallen, dass es ja laut * noch mehr Pflichtfelder gibt, als ich als erforderlich markiert habe. Aber ich glaube, das wird ziemlich aufwändig, die alle auch noch entsprechend aufzunehmen, oder? *verzweifelt*
 
Zuletzt bearbeitet von einem Moderator:

helge07

Aktives Mitglied

> .... funktioniert es leider nicht ...

Ich habe nun die deine Version 3 heruntergeladen und die Ursache für den Fehler gefunden:
Die Felder "Email_Text" und "Email_Text2" hattest Du durch Dokumententext ersetzt, so dass die Skripte hinter den drei Checkboxen "Versand" sie nicht mehr finden und vorzeitig abbrechen. Das Skript hinter dem "Absenden"-Button hat sich nicht geändert. Die korrigierte Version steht hier:

> ... aufgefallen, dass es ja laut * noch mehr Pflichtfelder gibt ....
dazu habe ich bisher nichts unternommen, sehe mir das aber noch einmal an und melde mich danach noch einmal.

Mir ist auch aufgefallen, dass es ja laut * noch mehr Pflichtfelder gibt ...
Ich habe jetzt den Code im Absendebutton entsprechend ergänzt:


Es sollte wie gewüscht funktionieren, Aber:
Vor einer Freigabe sollte man die Funktionalität gründlich testen, am besten auch durch unabhängige Personen.
 
Zuletzt bearbeitet von einem Moderator:

liliengrafie

Noch nicht viel geschrieben

Vielen vielen Dank! Das scheint schon super zu funktionieren! Es wird jetzt nochmal in der entsprechenden Abteilung noch getestet (was auch beim ersten Mal natürlich der Fall sein sollte und darauf hatte ich dann das ok bekommen. Erst dann fielen die Sachen noch auf).

Ich gebe nochmal Bescheid! Danke schon mal für die Mühe! :)
 

liliengrafie

Noch nicht viel geschrieben

Ich weine.

Es kam eben doch noch eine Rückmeldung. Und ich fürchte, die kann ich selbst nicht beheben, weil es den Code betrifft.

Bei Deinem letzten Beitrag vom 23.6. hast Du zwei Versionen hochgeladen. Einmal Version 4 und einmal Version 5. Bei Version 4 kann man unter 2. die Beitragshöhe noch mehrfach auswählen (also mehrere Beträge) und bei Version 5 dann nicht mehr - müsste man aber. Ist also ähnliche wie unter 1.

Würdest Du mir nochmal helfen? *hilfe*
 

helge07

Aktives Mitglied

Ich habe die Logik nun entsprechend geändert:
1. die Beitrags-Optionen sind nun wieder durch Checkboxen auswählbar, also auch mehrere.
2. Es muss mindestens eine Beitragsoption gewählt werden.
3. Falls die vierte gewählt ist, muss auch ein Betrag angegeben sein.

Im JavaSkript-Code des Absenden-Button ist das ausführlich kommentiert.
Hier ist die geänderte Version:
 

liliengrafie

Noch nicht viel geschrieben

Huhu ...

Ich nochmal ...

Ich komme aus dem Urlaub wieder und was finde ich in der Mailbox? Richtig, ein neuer Änderungswunsch für das Formular, das leider wieder nicht von mir selbst zu lösen ist. *heul* Und ich glaube, es ist aufwändiger.

Unter "Versand" kann man u.a. Berater oder Firma auswählen. Wenn eine dieser Optionen ausgewählt wird, soll die E-Mailadresse im Bereich "versicherte Person" kein Pflichtfeld mehr sein.

Machbar?

Hier noch der Link zur aktuellsten Datei:
 

helge07

Aktives Mitglied

Unter "Versand" kann man u.a. Berater oder Firma auswählen. Wenn eine dieser Optionen ausgewählt wird, soll die E-Mailadresse im Bereich "versicherte Person" kein Pflichtfeld mehr sein.

Ich habe das Formular geändert und hier bereitgestellt:


Bei der E-Mailadresse im Bereich "versicherte Person" habe ich das Feld-Merkmal "erforderlich" entfernt und überprüfe nun explizit, ob es ausgefüllt ist, wenn unter "Versand" die "Versicherte Person" selektiert ist. Das ist einfacher, aber logisch äquivalent zur zitierten Bedingung. Die Modifikation am Code ist minimal. Trotzdem bitte noch einmal gründlich testen.

Weitere Maßnahmen:
1. Die eMail-Felder habe ich konsistenter benannt (Email_0, Email_1, Email_2) und den Code in den Feldern "Option1/2/3_active" sowie im Button "Absenden_neu" angepasst.
2. Alte Kommentare aus den verschiedenen Entwicklungsphasen entfernt.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.621
Beiträge
1.538.378
Mitglieder
67.546
Neuestes Mitglied
tyed
Oben