formular fehler

hallo!
ich habe ein problem beim formular, wenn alle angaben richtig eingegeben wurden soll er auf eine andere seite springen, jedoch springt er nciht auf die seite, obwohl alle eingaben richtig sind öffnet er die alert-box und sagt falsche eingaben was ist der fehler was muss ich ändern.

Code:
<html>
        <head>
                <title>reguläre ausdrücke</title>
        </head>
        <body style="font-family:verdana">
                <table border="0px">
                        <form name="formular">
                                <tr>
                                        <td>
                                                Nachname:
                                        </td>
                                        <td>
                                                <input type="text" name="nachname" size="20">
                                        </td>
                                        <td id="fehler">
                                        </td>
                                </tr>
                                <tr>
                                        <td>
                                                Vorname:
                                        </td>
                                        <td>
                                                <input type="text" name="vorname" size="20">
                                        </td>
                                        <td id="fehler2">
                                        </td>
                                </tr>
                                <tr>
                                        <td>
                                                Wohnort:
                                        </td>
                                        <td>
                                                <input type="text" name="wohnort" size="10">
                                        </td>
                                        <td id="fehler3">
                                        </td>
                                </tr>
                                <tr>
                                        <td>
                                                PLZ:
                                        </td>
                                        <td>
                                                <input type="text" name="plz" size="5">
                                        </td>
                                        <td id="fehler4">
                                        </td>
                                </tr>
                                <tr>
                                        <td>
                                                E-mail:
                                        </td>
                                        <td>
                                                <input type="text" name="email" size="20">
                                        </td>
                                        <td id="fehler5">
                                        </td>
                                </tr>
                                <tr>
                                        <td>
                                                <input type="button" value="Bestellen" onclick="korrekt()">
                                                </form>
                                        </td>
                                </tr>
                        </table>
        <script type="text/javascript">

                        function bestell(){
                                var nachname, vorname, wohnort, plz, email, win;
                                var ausdruck = /[a-z]{2,}/;
                                var ergebnis;

                                nachname=document.formular.nachname.value;
                                ergebnis = ausdruck.test(nachname);
                                if (ergebnis == true) {
                                        document.getElementById("fehler").innerHTML = "Eingabe des Nachnamens war korrekt!";
                                }
                                else if(document.formular.nachname.value == ""){
                                        document.getElementById("fehler").innerHTML = "*Bitte geben sie ihren Nachnamen ein";
                                        }
                                else {
                                        document.getElementById("fehler").innerHTML = "*Eingabe des Nachnamens war falsch!";
                                }

                        var ausdruck2 = /[a-z]{2,}/;
                        var ergebnis2;
                        vorname=document.formular.vorname.value;
                        ergebnis2 = ausdruck2.test(vorname);
                        if (ergebnis2 == true) {
                                document.getElementById("fehler2").innerHTML = "Eingabe des Vornamens war korrekt!";
                        }
                        else if(document.formular.vorname.value == ""){
                                document.getElementById("fehler2").innerHTML = "*Bitte geben sie ihren Vorname ein";
                                }
                        else {
                                document.getElementById("fehler2").innerHTML = "*Eingabe des Vornamens war falsch!";
                        }


                        var ausdruck3 = /[a-z]{2,}/;
                        var ergebnis3;
                        wohnort=document.formular.wohnort.value;
                        ergebnis3 = ausdruck3.test(wohnort);
                        if (ergebnis3 == true) {
                                document.getElementById("fehler3").innerHTML = "Eingabe des Wohnorts war korrekt!";
                        }
                        else if(document.formular.wohnort.value == ""){
                                document.getElementById("fehler3").innerHTML = "*Bitte geben sie ihren Wohnort ein";
                                }
                        else {
                                document.getElementById("fehler3").innerHTML = "*Eingabe des Wohnorts war falsch!";
                        }


                        var ausdruck4 = /^\d{5}$/;
                        var ergebnis4;
                        plz=document.formular.plz.value;
                        ergebnis4 = ausdruck4.test(plz);
                        if (ergebnis4 == true)        {
                                document.getElementById("fehler4").innerHTML = "Eingabe der PLZ war korrekt!";
                        }
                        else if(document.formular.plz.value == ""){
                                document.getElementById("fehler4").innerHTML = "*Bitte geben sie ihre PLZ ein";
                                }
                        else {
                                document.getElementById("fehler4").innerHTML = "*Eingabe der PLZ war falsch!";
                        }


                        var ausdruck5 = /([\w-]+(\.[\w-]+)*@[a-zA-Z][a-zA-Z0-9]*((\.[a-zA-Z][a-zA-Z0-9]*)|([-][a-zA-Z0-9]+))*\.[a-zA-Z]{2,6})/;
                        var ergebnis5;
                        email=document.formular.email.value;
                        ergebnis5 = ausdruck5.test(email);
                        if (ergebnis5 == true) {
                                document.getElementById("fehler5").innerHTML = "Eingabe der E-mail war korrekt!";
                        }
                        else if(document.formular.email.value == ""){
                                document.getElementById("fehler5").innerHTML = "*Bitte geben sie ihre E-mail ein";
                                }
                        else {
                                document.getElementById("fehler5").innerHTML = "*Eingabe der E-mail war falsch!";
                        }

                        win=window.open("","popup","width=500, height=450, scrollbars=yes");
                        win.document.write("Nachname: " + nachname+"<br>Vorname: " + vorname + "<br>Wohnort: " + wohnort + "<br>PLZ: " + plz + "<br>E-mail: " +email);
                        win.document.bgColor="lightblue";

                        }
function korrekt(){
        if (bestell() == true){
                window.open("abschiedseite.html");
                return true;}
        else {alert("falsche angaben");
        return false;}
}


        </script>
        </body>
</html>
 
Hi,

du prüfst in korrekt, ob die Funktion bestell den booleschen Wert true zurückliefert. Die Funktion gibt aber zu keinem Zeitpunkt einen Wahrheitswert zurück.

Als Lösung könntest du zu Beginn eine Variable mit true initialisieren. In den Zweigen, wo eine falsche Eingabe ermittelt wurde, setzt du deren Wert auf false. Am Ende wird sie mit Hilfe des Schlüsselwortes return zurückgegeben.

Beispiel:
Code:
function bestell(){
  var blnCorr = true;

  var nachname, vorname, wohnort, plz, email, win;
  var ausdruck = /[a-z]{2,}/;
  var ergebnis;

  nachname=document.formular.nachname.value;
  ergebnis = ausdruck.test(nachname);
  if (ergebnis == true) {
  	document.getElementById("fehler").innerHTML = "Eingabe des Nachnamens war korrekt!";
  }
  else if(document.formular.nachname.value == ""){
  	document.getElementById("fehler").innerHTML = "*Bitte geben sie ihren Nachnamen ein";
    blnCorr = false;
  }else{
  	document.getElementById("fehler").innerHTML = "*Eingabe des Nachnamens war falsch!";
    blnCorr = false;
  }

  // WEITERE PRÜFUNGEN

  return blnCorr;

}
Ciao
Quaese
 
das funktioniert nciht der geht trotzdem weiter obwohl eine eingabe falsch ist.
muss noch was geändert werden odergibt es eine andere lösung?


//edit

hi!
funktioniert doch dankeschön hatte nur was vergessen!
 
Fein :)

Und achte doch bitte in deinen zukünftigen Beiträgen auf unsere Netiquette (Nr.15) bzgl. deiner durchgängigen Kleinschreibung - vielen Dank! :)

mfg Maik
 
fehler beim formular

hi!
also habe ein formular bei dem die eingabe überprüft werden sollen,
doch er geht garnicht in die function rein und ich versteh nciht warum,
sieht jemand den fehler

HTML:
 <div>
                                                                           <table border="1px">
                                                                                 <form name="formular">
                                                                                         <tr>
                                                                                                 <td>Nachname:</td>
                                                                                                 <td><input type="text" name="nachname" size="20"></td>
                                                                                                 <td id="fehler"></td>
                                                                                         </tr>
                                                                                         <tr>
                                                                                                 <td>Vorname:</td>
                                                                                                 <td><input type="text" name="vorname" size="20"></td>
                                                                                                 <td id="fehler2"></td>
                                                                                         </tr>
                                                                                         <tr>
                                                                                                 <td>Telefon:</td>
                                                                                                 <td><input type="text" name="telefon" size="20"></td>
                                                                                                 <td id="fehler3"></td>
                                                                                         </tr>
                                                                                         <tr>
                                                                                                 <td>E-Mail:</td>
                                                                                                 <td><input type="text" name="email" size="20"></td>
                                                                                                 <td id="fehler4"></td>
                                                                                         </tr>
                                                                                         <tr>
                                                                                                 <td>Anzahl der Personen:</td>
                                                                                                 <td><input type="text" name="personen" size="20"></td>
                                                                                                 <td id="fehler5"></td>
                                                                                         </tr>
                                                                                         <tr>
                                                                                                 <td>Datum:</td>
                                                                                                 <td><input type="text" name="datum" size="20"></td>
                                                                                                 <td id="fehler6"></td>
                                                                                         </tr>
                                                                                         <tr>
                                                                                                 <td><input type="button" value="Senden" onclick="bestell()"></td>
                                                                                         </tr>
                                                                                 </form>
                                                                           </table>
                                                                         </div>

Code:
<script>

                 function bestell(){
                                var nachname, vorname, telefon, email, personen, datum;
                                var ausdruck = /[a-z]{2,}/;
                                var ergebnis;
                                var blnCorr = true;
                                alert("hallo welt");

                                nachname=document.formular.nachname.value;
                                ergebnis = ausdruck.test(nachname);
                                if (ergebnis == true) {
                                        document.getElementById("fehler").innerHTML = "Eingabe des Nachnamens war korrekt!";
                                }
                                else if(document.formular.nachname.value == ""){
                                        document.getElementById("fehler").innerHTML = "*Bitte geben sie ihren Nachnamen ein";
                                        blnCorr = false;
                                }
                                else {
                                        document.getElementById("fehler").innerHTML = "*Eingabe des Nachnamens war falsch!";
                                        blnCorr = false;
                                 }

                        var ausdruck2 = /[a-z]{2,}/;
                        var ergebnis2;
                        vorname=document.formular.vorname.value;
                        ergebnis2 = ausdruck2.test(vorname);
                        if (ergebnis2 == true) {
                                document.getElementById("fehler2").innerHTML = "Eingabe des Vornamens war korrekt!";
                        }
                        else if(document.formular.vorname.value == ""){
                                document.getElementById("fehler2").innerHTML = "*Bitte geben sie ihren Vorname ein";
                                 blnCorr = false;
                         }
                        else {
                                document.getElementById("fehler2").innerHTML = "*Eingabe des Vornamens war falsch!";
                                blnCorr = false;
                         }


                        var ausdruck3 =  /^[0-9][/. \-][0-9]$+/;
                        var ergebnis3;
                       telefon=document.formular.telefon.value;
                        ergebnis3 = ausdruck3.test(telefon);
                        if (ergebnis3 == true) {
                                document.getElementById("fehler3").innerHTML = "Eingabe des Telefon war korrekt!";
                        }
                        else if(document.formular.wohnort.value == ""){
                                document.getElementById("fehler3").innerHTML = "*Bitte geben sie ihren Telefon ein";
                                 blnCorr = false;
                         }
                        else {
                                document.getElementById("fehler3").innerHTML = "*Eingabe des Telefon war falsch!";
                                blnCorr = false;
                         }


                        var ausdruck4 = /([\w-]+(\.[\w-]+)*@[a-zA-Z][a-zA-Z0-9]*((\.[a-zA-Z][a-zA-Z0-9]*)|([-][a-zA-Z0-9]+))*\.[a-zA-Z]{2,6})/;
                        var ergebnis4;
                        email=document.formular.email.value;
                        ergebnis4 = ausdruck4.test(email);
                        if (ergebnis4 == true)        {
                                document.getElementById("fehler4").innerHTML = "Eingabe der email war korrekt!";
                        }
                        else if(document.formular.plz.value == ""){
                                document.getElementById("fehler4").innerHTML = "*Bitte geben sie ihre email ein";
                                 blnCorr = false;
                         }
                        else {
                                document.getElementById("fehler4").innerHTML = "*Eingabe der email war falsch!";
                                blnCorr = false;
                         }


                        var ausdruck5 =  /[0-9]{2,3}/;
                        var ergebnis5;
                        personen=document.formular.personen.value;
                        ergebnis5 = ausdruck5.test(personen);
                        if (ergebnis5 == true) {
                                document.getElementById("fehler5").innerHTML = "Eingabe der personen war korrekt!";
                        }
                        else if(document.formular.email.value == ""){
                                document.getElementById("fehler5").innerHTML = "*Bitte geben sie ihre personen ein";
                                 blnCorr = false;
                         }
                        else {
                                document.getElementById("fehler5").innerHTML = "*Eingabe der personen war falsch!";
                                blnCorr = false;
                         }


                        var ausdruck6 =  /^d{2}[/. \-]d{2}[/. \-]d{4}$/;
                        var ergebnis6;
                        datum=document.formular.datum.value;
                        ergebnis6 = ausdruck6.test(datum);
                        if (ergebnis6 == true)        {
                                document.getElementById("fehler6").innerHTML = "Eingabe der datum war korrekt!";
                        }
                        else if(document.formular.datum.value == ""){
                                document.getElementById("fehler6").innerHTML = "*Bitte geben sie ihre datum ein";
                                 blnCorr = false;
                         }
                        else {
                                document.getElementById("fehler6").innerHTML = "*Eingabe der datum war falsch!";
                                blnCorr = false;
                         }
                        return blnCorr;



                        }



                </script>
 
Hi,

da dies dem Quellcode zufolge eine Fortsetzung deines letzten Themas "formular fehler" ist, führe ich mal die beiden Themen zusammen, und bitte dich zum wiederholten Male darum, in deinen Beiträgen auf die Netiquette bzgl. deiner durchgängigen Kleinschreibung zu achten.

Unser Forum ist kein Chatroom. Kurz-Beiträge ("Ein-Zeilen Postings"), die einfach so ins Forum "geklatscht" werden, werden ohne Vorwarnung von einem Moderator oder Administrator gelöscht. Das gleiche gilt insbesondere für Beiträge, die in Rechtschreibung, Satzbau und Verständlichkeit nicht ein vernünftiges, allgemein übliches und altersgruppen-übergreifendes Niveau erfüllen. Jugendsprache, regional verbreitete Dialekte und durchgehend kleingeschriebene Beiträge sind ebenfalls unerwünscht. Mit anderen Worten: wer erfolgreich die im Deutsch-Unterricht erlernten Kenntnisse praxisnah auf unserem Forum anwenden kann, wird nicht mit dieser Regel in Konflikt kommen. "Wiederholungstäter" werden, nachdem sie zuvor von einem Moderator auf die Mängel hingewiesen wurden, ggf. unbefristet gesperrt.

mfg Maik
 

Neue Beiträge

Zurück