Guten Abend
Was muss ich beim folgenden Code ergänzen, damit nicht nur die Fehlermeldung erscheint, sondern das Script angehalten wird, damit der User seine Eingaben korrigieren kann?
Jetzt das HTML-Seminar als
Video-Tutorial
mit über 210 Videos,
Gesamtspielzeit über 24 Stunden
Video-Kurs HTML5+CSS+Webdesign
Mehr dazu unter: Abstimmung über das Forum
Guten Abend
Was muss ich beim folgenden Code ergänzen, damit nicht nur die Fehlermeldung erscheint, sondern das Script angehalten wird, damit der User seine Eingaben korrigieren kann?
Hallo MarkusBEO
die Frage kann man nicht beantworten, ohne das Umfeld zu kennen: Wie wird das Formular abgeschickt? Ist es ein sogenanntes Affenformular, d. h. die Seite ruft sich selber auf? Oder wird beim Abschicken eine andere Seite aufgerufen? Oder wird das Formular mit Ajax abgeschickt?
Auf jeden Fall kann man sagen, dass unter dem Gesichtspunkt der Benutzerfreundlichkeit eine clientseitige Validierung, zusätzlich zur serverseitigen, zu empfehlen ist. Dann bekommt der Benutzer seine Rückmeldungen schon vor dem Abschicken. Mit der HTML5-Formularvalidierung ist das ja heute ein Kinderspiel:
Als Anfänger und weil ich Ihre Fragen nicht sicher beantworten kann, erlaube ich mir, den Code der Seite einzustellen - dann zusätzlich den Code (funktion), welche inkludiert wird.
Danke, das ist schon mal sehr aufschlussreich. Scheint das besagte Affenformular zu sein, nur dann verstehe ich deine ursprüngliche Frage nicht: Wenn der Benutzer die Fehlermeldung sieht, müsste er darüber auch wieder das Formular sehen und in der Lage sein, seine Eingabe(n) dort zu korrigieren? Oder verstehe ich den Code falsch?
Danke, das ist schon mal sehr aufschlussreich. Scheint das besagte Affenformular zu sein, nur dann verstehe ich deine ursprüngliche Frage nicht: Wenn der Benutzer die Fehlermeldung sieht, müsste er darüber auch wieder das Formular sehen und in der Lage sein, seine Eingabe(n) dort zu korrigieren? Oder verstehe ich den Code falsch?
Wenn der Benutzer die Fehlermeldung wegen falscher Emailangabe sieht, dann sind alle seine Angaben weg und wurden (richtigerweise) auch nicht gespeichert.
Das einzige Problem ist also scheinbar, wenn die Emailangabe falsch ist und der Benutzer unten links auf den Button "Erfassen" klickt, kommt zwar die Fehlermeldung (=richtig), aber alle Daten sind weg (=falsch).
Wenn alle Daten stimmen, wird der Eintrag gespeichert (=richtig).
Beispiel am Eingabefeld name:
Und woher willst du das wissen:
Du fragst keinerlei Fehler ab, das solltest du aber machen, denn nur diese Ausgabe sagt nichts darüber aus.
Und das ist in mehrere Hinsicht grausam:
Warum nicht so:
Zumal dir
bei hochgedrehtem Error-Reporting ein Warning um die Ohren haut.
Apropo Error-Reporting:
Solange du an einem Script entwickelst, solltest diese beiden Zeilen immer am Anfang haben:
Vielen Dank für die Tipps, ich habe das soweit mal angepasst,
ausser #6, erster Eintrag wegen Eingabefeld Name, weil mir nicht klar ist, was der Eintrag auf Zeile 7 genau bedeutet.
Die Fehlerabfrage muss ich noch lernen (ob gespeichert wurde oder nicht). Das Errorreporting habe in in der functions.php eingefügt.
Ich bin Anfänger und habe den Code aus dem Internet und will ihn für meine Bedürfnisse abändern.
Mein Hauptproblem: Habe schon stundenlang geübt mit diesem und anderen Affenformularen und habe bisher nie erreicht dass
bei einer Fehleingabe des Users das Formular stehen bleibt, bis alles i.O. ist. - Hier stehe ich total auf dem Schlauch, was ich da ergänzen/anpassen müsste.
Zitatdass bei einer Fehleingabe des Users das Formular stehen bleibt
Versuche es mit der Formularvalidierung durch HTML5, wie in meinem Beitrag #2 empfohlen.
Ändere z. B. das Eingabefeld für die Email indem Du den Typ auf "email" änderst und das Attribut "required" hinzu fügst:
<input type="email" name="email" placeholder="" id="email" required>
Vielen Dank!!! Es funktioniert!!!
Simples Beispiel eines Affenformulars, bei dem die eingegebenen Werte im Formular stehen bleiben:
Freut mich, dass es funktioniert. Mit ein wenig CSS kann man dem Benutzer auch gleich bei der Eingabe signalisieren, dass der Wert noch nicht stimmt: