Merkwürdiges verhalten bei JS-SCRIPT
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
ankommen
auslese
bayer
bericht
code
datensatz
datum
ersten blick
falsche daten
fenster
folgendes problem
formular
klappen
richtigen daten
schnelle hilfe
server
sprache
tag
url
verzichten
-
Hallo Zusammen,
nachdem ich das große G*** bemüht habe, ich aber keine befriedigende Lösung gefunden habe, bitte ich die Experten unter Euch.
tag/folgendes problem">Folgendes Problem:
Ich habe ein Formular und möchte nun einige Felder vor dem Speichern prüfen.
<form name="form1" action="<?php echo $editFormAction; ?>" method="post" onSubmit="testForm();">
So weit, so gut.
Das JS-SCRIPT sieht wei folgt aus (es funktioniert auch!!):
<script type="text/javascript">
<!--
function testForm() {
var error = false;
var error_message = "Eingabe-Fehler:\n";
/* Ueberpruefen Beginn Jahr auf Inhalt */
if (document.form1.beg_jahr.value == '') {
error = true;
error_message += "- 1.6 Beginn der Aktivitäten!\nEs wurde keine Jahreszahl eingetragen!\n";
}
/* Ueberpruefen Beginn Monat auf Inhalt */
if (document.form1.beg_mon.value == '') {
error = true;
error_message += "- 1.6 Beginn der Aktivitäten!\nEs wurde kein Anfangsmonat eingetragen!\n";
}
/* Ueberpruefen Beginn Jahr auf Inhalt */
if (document.form1.beg_jahr1.value == '') {
error = true;
error_message += "- 1.6 Beginn der Aktivitäten!\nEs wurde keine Jahreszahl eingetragen!\n";
document.form1.beg_jahr1.focus();
}
/* Ueberpruefen Beginn Jahr auf Inhalt */
if (document.form1.beg_mon1.value == '') {
error = true;
document.form1.beg_mon1.focus();
error_message += "- 1.6 Beginn der Aktivitäten!\nEs wurde kein Endmonat eingetragen!\n";
}
/* Ist irgendwo ein Fehler aufgetreten ? */
if (error) {
error_message += "\nBitte korrigieren !!!";
alert(error_message);
return false; //Formular wird nicht abgeschickt.
} else {
return true; //Formular wird abgeschickt.
}
}
//-->
</script>
Das Problem ist, wenn die "ALERT-MELDUNG" angezeigt wird und ich auf "OK" klicke, speichert er den Datensatz ab und geht zurück in die Übersicht ohne das ich die Möglichkeit habe den Fehler zu beheben.
Was mache ich FALSCH???
Vielen Dank für Eure Hilfe.
Gruß
EKIAM -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo ekiam.
In deinem form-Tag:
ekiam schrieb:
onSubmit="testForm();"
Funktioniert es vielleicht mit return?onSubmit="return testForm();"
Der zurückgegebene Wert von testForm() wird damit weiter zurückgegeben und kann vom Browser ausgewertet werden.
Ansonsten wird die Funktion einfach nur aufgerufen und ihr Rückgabewert verfällt. -
Hallo fuerderer,
hallo an ALLE,
es scheint zu klappen! Werde noch einige TESTS machen und dann nochmal berichten.
Erst einmal vielen lieben Dank für die schnelle Hilfe
Ekiam -
Du sprichst davon, dass "ein Datensatz abgespeichert wird". Dazu noch ein Hinweis: Das JavaScript kann nicht sicher überprüfen, dass nicht falsche Daten am Server ankommen (bpsw. könnte man JS deaktivieren). Vergiss nicht auch eine serverseitige Überprüfung in deinem PHP/Perl/Sonstwas-Skript.
mfg
Jonas -
Ein genereller Tipp an dich: Warum verarbeitest du die Daten des Formulars nicht mit einer Serverseitigen Sprache wie PHP? Das ist nicht nur sicherer, sondern du hast auch noch gleichzeitig eine Bestätigung, dass die richtigen Daten übermittelt worden sind, wie jonas-bayer bereits geschrieben hat:
jonas-bayer schrieb:
Das JavaScript kann nicht sicher überprüfen, dass nicht falsche Daten am Server ankommen (bpsw. könnte man JS deaktivieren). Vergiss nicht auch eine serverseitige Überprüfung in deinem PHP/Perl/Sonstwas-Skript.
Auch wenn es vielleicht auf den ersten Blick schwerer erscheint, die Sprache PHP ist meiner Meinung nach sehr viel besser zur Formularauswertung geeignet als JS. Und wenn du auf die alert - Fenster nicht verzichten willst, kannst du im Notfall eine "PHP - Bestätigungs - Variable" mit JS auslesen und daraufhin etwas bestimmtes als alert ausgeben lassen.
Ich hoffe, ich habe dich nicht allzu sehr verwirrt oder ähnliches; und konnte Dir weiterhelfen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage