JavaScript Formular auf Kriterien vor dem Abschicken überprüfen

raven16

Lieutenant
Registriert
Nov. 2008
Beiträge
580
Hi,

Hab bei mir auf der Seite ein Formular, wo 3 Felder überprüft werden müssen... mit PHP ist das ja kein Thema die Kriterien dafür aufzustellen...
Aber der große Nachteil dabei ist, wenn ich (nachdem ich wer weiß wie viel geschrieben habe) das formular abschicke und ein Kriterium nicht erfüllt ist, das gesamte Formular wieder leer ist und man alles von vorne schreiben muss...

Gibt es eine möglichkeit, die Felder zu überprüfen, ohne das der Inhalt der Felder geleert wird bei einem Fehler, wenn ein feld zu wenig zeichen enthält?

Das sind meine 3 Felder, die überprüft werden müssen:
HTML:
<input type="textbox" name="probage" maxlength="2">

<input type="textbox" name="probtitel" maxlength="60">

<textarea name="probtext"></textarea>

Das Formular wird nach dem abschicken auf eine andere Datei verwiesen wo das geprüft wird und je nachdem wie das ergebnis ausgeht, wird dann wieder mit
header(Location:../...) zurückgegeben...

wenn aber eines dieser Kriterien nicht erfüllt wird, dann sind nach dem zurückleiten alle formularfelder wieder leer :(
PHP:
if(isset($_POST['new_prob']) && strlen($_POST['probage']) != 0)
{
	if(strlen($_POST['probtext']) >= 50)
	{
		if(strlen($_POST['probtitel'])>=5)
		{
...

Hoffe ihr könnt mir da weiterhelfen, weil ich nicht wirklich viel ahnung von javascript habe und kpl habe wie ich das anstellen kann :rolleyes:
 
Also wenn ich das richtig sehe, dann müsstest du den einzelnen Feldern einen value zuweisen, damit da die Werte angezeigt werden, oder?
Also so:
Code:
<input type="textbox" name="probage" maxlength="2" value="$_POST['probage']">

Also das ist jetzt nur schnell hingetippt. Der value kann natürlich auch aus einer anderen Variablen stammen. Da du ja von einer anderern Seite zurückkommst, wird das sogar so sein.

So mache ich das zumindest immer mit php wenn ich Formulare bearbeiten muss.
 
Also ich hab das jetzt soweit bekommen, das wenn die Kriterien nicht passen, der die Eintragungen wieder einträgt...
aber mit den Fehlermeldungen hab ich noch probleme weil der die noch nicht ausgibt :(

Am Anfang der Seite überprüfe ich die Felder erst einmal:
PHP:
if(!is_numeric($_POST['probage'])) 
$errorage = '<label style="color:#FFFFFF;font-size:small;"><b> (Nur Zahlen sind zulässig!)</b></label>.';

if(strlen($_POST['probage']) == 0)
$errorbage = '<label style="color:#FFFFFF;font-size:small;"><b> (Bitte dein Alter angeben!)</b></label>';

if(strlen($_POST['probtext']) < 50)
$errortext = '<label style="color:#FFFFFF;font-size:small;"><b> (Der Text muss mindestens 50 Zeichen lang sein!)</b></label>';

if(strlen($_POST['probtitel']) < 5) 
$errortitel = '<label style="color:#FFFFFF;font-size:small;"><b> (Die Überschrift muss mindestens 5 Zeichen lang sein!)</b></label>';

Und in den Inputs hab ich als Beispiel mal einen rauskopiert mache ich das so:
PHP:
if($errorage == '') echo $errorage;

Aber irgendwie klappt die Textausgabe nicht...
Ergänzung ()

Hat geklappt :)

musste nur in der textausgabe dieses == ' ' weglassen
 
Zuletzt bearbeitet:

Ähnliche Themen

J
Antworten
5
Aufrufe
2.225
J
J
Antworten
11
Aufrufe
2.427
Zurück
Oben