JavaScript-Meldung

L

librarian

Mitglied
Thread Starter
Dabei seit
21.08.2005
Beiträge
36
Reaktionspunkte
0
Hallo!

Habe hier ein Problem mit einer JavaScript-Meldung, kann mir da jemand helfen?
Mein JavaScript-Script:

Code:
<script type="text/javascript">
       function chkeingabeformular()
                {
                 if(document.eingabeformular.vorname.value == ""){
                 alert("Sie haben den Vornamen nicht angegeben!");
                 document.eingabeformular.vorname.focus();
                 return false;
                 }
                 var chkZ = -1;
                 for(i=0;i<document.eingabeformular.vorname.value.length;++i)
                 if(document.eingabeformular.vorname.value.charAt(i) < "0"
                 || document.eingabeformular.vorname.value.charAt(i) > "9")
                 chkZ = 1;
                 if(chkZ == -1) {
                 alert("Bitte im Vornamen-Feld keine Zahlen eingeben!");
                 document.eingabeformular.vorname.focus();
                 return false;
                 }
                 if(document.eingabeformular.name.value == ""){
                 alert("Sie haben den Nachnamen nicht angegeben!");
                 document.eingabeformular.name.focus();
                 return false;
                 }
                 var chkZ = -1;
                 for(i=0;i<document.eingabeformular.name.value.length;++i)
                 if(document.eingabeformular.name.value.charAt(i) < "0"
                 || document.eingabeformular.name.value.charAt(i) > "9")
                 chkZ = 1;
                 if(chkZ == -1) {
                 alert("Bitte im Nachnamen-Feld keine Zahlen eingeben!");
                 document.eingabeformular.name.focus();
                 return false;
                 }
                 if(document.eingabeformular.b_day.value == ""){
                 alert("Sie haben den Geburtstag nicht angegeben!");
                 document.eingabeformular.b_day.focus();
                 return false;
                 }
                 var chkZ = 1;
                 for(i=0;i<document.eingabeformular.b_day.value.length;++i)
                 if(document.eingabeformular.b_day.value.charAt(i) < "0"
                 || document.eingabeformular.b_day.value.charAt(i) > "9")
                 chkZ = -1;
                 if(chkZ == -1) {
                 alert("Bitte im Geburtstag-Feld nur Zahlen eingeben!");
                 document.eingabeformular.b_day.focus();
                 return false;
                 }
                 if(i<=7 || i>=9){
                 alert("Sie haben den Geburtstag nicht korrekt eingegeben!");
                 document.eingabeformular.b_day.focus();
                 return false;
                 }
                 if(document.eingabeformular.mat_nr.value == ""){
                 alert("Sie haben die Matrikelnummer nicht angegeben!");
                 document.eingabeformular.mat_nr.focus();
                 return false;
                 }
                 var chkZ = 1;
                 for(i=0;i<document.eingabeformular.mat_nr.value.length;++i)
                 if(document.eingabeformular.mat_nr.value.charAt(i) < "0"
                 || document.eingabeformular.mat_nr.value.charAt(i) > "9")
                 chkZ = -1;
                 if(chkZ == -1) {
                 alert("Bitte im Matrikelnummer-Feld nur Zahlen eingeben!");
                 document.eingabeformular.mat_nr.focus();
                 return false;
                 }
                 if(document.eingabeformular.adresse.value == ""){
                 alert("Sie haben die Adresse nicht angegeben!");
                 document.eingabeformular.adresse.focus();
                 return false;
                 }
                 if(document.eingabeformular.plz.value == ""){
                 alert("Sie haben die PLZ nicht angegeben!");
                 document.eingabeformular.plz.focus();
                 return false;
                 }
                 var chkZ = 1;
                 for(i=0;i<document.eingabeformular.plz.value.length;++i)
                 if(document.eingabeformular.plz.value.charAt(i) < "0"
                 || document.eingabeformular.plz.value.charAt(i) > "9")
                 chkZ = -1;
                 if(chkZ == -1) {
                 alert("Bitte PLZ-Feld nur Zahlen eingeben!");
                 document.eingabeformular.plz.focus();
                 return false;
                 }
                 if(document.eingabeformular.wohnort.value == ""){
                 alert("Sie haben den Wohnort nicht angegeben!");
                 document.eingabeformular.wohnort.focus();
                 return false;
                 }
                 var chkZ = -1;
                 for(i=0;i<document.eingabeformular.wohnort.value.length;++i)
                 if(document.eingabeformular.wohnort.value.charAt(i) < "0"
                 || document.eingabeformular.wohnort.value.charAt(i) > "9")
                 chkZ = 1;
                 if(chkZ == -1) {
                 alert("Bitte im Wohnort-Feld keine Zahlen eingeben!");
                 document.eingabeformular.wohnort.focus();
                 return false;
                 }
                 if(document.eingabeformular.land.value == ""){
                 alert("Sie haben kein Land angegeben!");
                 document.eingabeformular.land.focus();
                 return false;
                 }
                 var chkZ = -1;
                 for(i=0;i<document.eingabeformular.land.value.length;++i)
                 if(document.eingabeformular.land.value.charAt(i) < "0"
                 || document.eingabeformular.land.value.charAt(i) > "9")
                 chkZ = 1;
                 if(chkZ == -1) {
                 alert("Bitte im Land-Feld keine Zahlen eingeben!");
                 document.eingabeformular.land.focus();
                 return false;
                 }
                 
                 if(document.eingabeformular.phon.value == ""){
                 alert("Sie haben die Telephonnummer nicht angegeben!");
                 document.eingabeformular.phon.focus();
                 return false;
                 }
                 var chkZ = 1;
                 for(i=0;i<document.eingabeformular.phon.value.length;++i)
                 if(document.eingabeformular.phon.value.charAt(i) < "0"
                 || document.eingabeformular.phon.value.charAt(i) > "9")
                 chkZ = -1;
                 if(chkZ == -1) {
                 alert("Bitte im Telephon-Feld nur Ziffern eingeben!");
                 document.eingabeformular.phon.focus();
                 return false;
                 }
                 
                 if(document.eingabeformular.email.value == ""){
                 alert("Sie haben die E-mail Adresse nicht angegeben!");
                 document.eingabeformular.email.focus();
                 return false;
                 }
                 if(document.eingabeformular.email.value.indexOf('@') == -1) {
                 alert("Keine E-Mail-Adresse!");
                 document.Formular.Mail.focus();
                 return false;
                 }

       var vorname = document.eingabeformular.vorname.value;
       var name = document.eingabeformular.name.value;
       var b_day = document.eingabeformular.b_day.value;
       var mat_nr = document.eingabeformular.mat_nr.value;
       var adresse = document.eingabeformular.adresse.value;
       var plz = document.eingabeformular.plz.value;
       var wohnort = document.eingabeformular.wohnort.value;
       var land = document.eingabeformular.land.value;
       var phon = document.eingabeformular.phon.value;
       var email = document.eingabeformular.email.value;
alert("Sollten diese Angaben Fehler enthalten, schlie&szlig;en Sie dieses Fenster und korrigieren Sie sie bitte im Formular: " + vorname + " " + name + " / " + b_day + " / " + mat_nr + " / " + adresse + " / " + plz + " " + wohnort + " / " + land + " / " + phon + " / " + email + " / Durch anklicken von OK werden die Daten in der Datenbank abgespeichert.");
      }
       </script>

prüft ein HTML-Formular, das Daten an ein PHP-Skript weitergibt, welches wiederum die Daten dann in eine Datenbank einliest.
Wie an dem letzten alert vermutlich unschwer zu erkennen ist, hätte ich gerne ein Fenster, das die eingegebenen Daten wiedergibt. Außerdem soll, wenn es einfach geschlossen wird, das schon bearbeitete Formular zum korrigieren zur Verfügung stehen.
Geht das? Muß ich dazu im JavaScript was ändern oder im HTML-Formular was ergänzen?
 
Aktionen beim Client solltest Du in Javascript machen, soweit ist das schon richtig. Um vernünftige Fehlermeldungen zu erhalten solltest Du mit Firefox und der Javascript-Konsole Dein Programm testen. Deine Frage ist sicher besser im Froum zu Web-Programmierung aufgehoben, ich werde Dich mal dahin verschubsen lassen

Gruß wegus
 
Mit alert kommst Du hier nicht weiter. Das alert muss ja grundsätzlich geschlossen werden. Der Nutzer hat also gar keine Entscheidungsmöglichkeit.

Was Du wohl suchst ist die Methode confirm.
Code:
if(!confirm('Sollten diese Angaben Fehler enthalten...'))return false;
else return true;
So sollte es gehen. Klickt der Nutzer "OK" wird "true" zurückgeliefert, ansonsten "false".
 
Ja, super!!!!
Vielen Dank!
 
Also bei mir funktioniert diese Methode leider nicht.
if(window.confirm("Meldungs-Text"))\0\0\0\0\0\0\0\0l³M@l³M@\0\0\0\0\0\0\0\0\0\0\0\0\0pïe Ž~ ¯~"#######!\0\0\0¾T¾TCN//\0GB_1988-80//\0Sa\0\0\0¾TÀïe(ð}
|| # CV
 
Ups ... nochmal:
Code:
 if(window.confirm("Meldungs-Text"))
Wie kann man eigentlich in Widgets ein "neues Fenster" öffnen? (window.open ???)
 
Validierungen hören auf den Server ....
 
Zurück
Oben Unten