Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

Inhalt von Formularfelder löschen





Frage

Hallo! Ich habe zwei Formularfelder für ein Login (Benutzername, Passwort). Das ganze werte ich dann mit PHP aus, aber das ist hierbei nebensächlich. Mein Problem ist, dass wenn jemand die Felder mit nem falschen Namen oder so ausfüllt und auf "einloggen" klickt, dann bekommt er ne Fehlermeldung, dass es halt falsch war. Er soll dann auf den "Zurück" Button vom Browser klicken und dann sollen die Felder wieder leer sein, aber im Moment stehen immer noch die falsch gemachten Angaben drin. Ich habe es schon mit value="Benutzername" und value="Passwort" versucht, dass das in den Feldern steht, aber geht nicht, was muss ich machen, um mein Ziel zu erreichen???? Danke! Anja

Antwort 1 von Dr.Ma-Busen

Mahlzeit!

Entweder du machst das mit JavaScript und löscht die Felder damit, oder was noch besser wäre ist, wenn du auf der Fehlerseite einen Link machst mit den man wieder auf die Loginseite kommt. Weil dann wird die ganze Loginseite neu geladen und die Eingabefelder sollten dann wieder leer sein.

MfG
Dr. Ma-Busen

Antwort 2 von Anja

Ja, das mit nem Link hab ich auch schon überlegt, aber das löst nicht das Problem, denn es gibt bistimmt viele (wie auch ich), die immer den Zurück-Button benutzen und nicht den Link.

Und wie sehe Deine erste vorgeschlagene Variante aus? Wie geht das mit JavaScript?

Anja

Antwort 3 von Dr.Ma-Busen

Eine möglichkeit wäre auch noch, anstatt eine Fehlerseite auszugeben, dass Formular wieder auszugeben und die Fehlermeldungen über die Eingabefelder zu schreiben.

und mit JavaScript fallen mir jetzt zwei lösungen ein, entweder man schreibt eine function die ausgeführt wird wenn die HTML- Seite geladen wurde und löscht dann die Felder.
Oder ein funktion die aufgerufen wird wenn man das Formular absendet. Die Funktion kopiert dann den Inhalt der Eingabefelder in versteckte felder und löscht die Eingabefelder bevor das Formular gesendet wird. Nachteil bei der variante ist, wenn JavaScript deaktiviert ist, dann wird der inhalt der Felder nicht kopiert und es wird nichts an das PHP Script übergeben. Um das Problem zu lösen müsste man dann noch mit PHP überprüfen ob die versteckten felder einen wert enthielten, wenn nicht dann noch überprüfen ob die Eingabefelder einen wert enthielten.

Hier mal ein kleines Beispiel für Variante 1:

<script type="text/javascript">
<!--
function del(){
	var form = document.forms['Form'];
	form.Feld_1.value = "";
	form.Feld_2.value = "";
}
//-->
</script>
<body onload="del()">
	<form id="Form" method="post" action="">
		<input type="text" name="Feld_1"><br>
		<input type="text" name="Feld_2"><br>
		<input type="submit">
	</form>
</body>


und hier ein beispiel für variante 2:

<script type="text/javascript">
<!--
function del(){
	var form = document.forms['Form'];
	form.Backup_1.value = form.Feld_1.value;
	form.Backup_2.value = form.Feld_2.value;
	return true;
}
//-->
</script>
<body>
	<form id="Form" method="post" action="" onsubmit="return del()">
		<input type="hidden" name="Backup_1">
		<input type="hidden" name="Backup_2">
		
		<input type="text" name="Feld_1"><br>
		<input type="text" name="Feld_2"><br>
		
		<input type="submit">
	</form>
</body>


Wenn du mich Fragst, dann würde ich das Formular erneut ausgeben mit den Fehlermeldungen über den Eingabefeldern.

MfG
Dr. Ma-Busen

Antwort 4 von MixMax

oder du machst im body-tag:
<body onload="document.formularname.reset();">

das sollte auch gehen.

Antwort 5 von Anja

Danke euch beiden :-). Werde erst mal das von MixMax probieren (weil am einfachsten :-) ). Aber trotzdem danke Dr.Ma-Busen, vielleicht kommt Dein Vorschlag auch noch zum Einsatz :-).

Danke jedenfalls!

Anja