JavaScript Fehlermeldung

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von librarian, 04.09.2005.

  1. librarian

    librarian Thread Starter MacUser Mitglied

    Beiträge:
    36
    Zustimmungen:
    0
    Mitglied seit:
    21.08.2005
    Hallo,
    habe ein Formular (hier gekürzt), die Prüfung per JavaScript funktioniert nicht. Fehlermeldungen in der JavaScript Konsole:

    Fehler: missing ) after argument list
    Quelldatei: http://localhost/hausarbeit_php/eingabeformular.html
    Zeile: 165, Spalte: 127
    Quelltext:
    if(!confirm('Sollten diese Angaben Fehler enthalten, klicken Sie bitte auf Abbrechen und korrigieren Sie sie im Formular: " + 'vorname' + " " + 'name' + " / " + 'b_day' + " / " + 'mat_nr' + " / " + 'adresse' + " / " + 'plz' + " " + 'wohnort' + " / " + 'la

    => Ich kann keine fehlende ) im Skript finden. Jemand von euch?

    Fehler: chkeingabeformular is not defined

    => Was ist damit genau gemeint? Die function chkeingabeformular ist doch im HEAD definiert.

    HTML:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD 
    HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html; 
      charset=iso-8859-1">
      <title>Studentendaten</title>
      <LINK REL="stylesheet" HREF="hausarbeit.css" TYPE="text/css">
      <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;
                     }
                     
    
           var vorname = document.eingabeformular.vorname.value;
           var name = document.eingabeformular.name.value;
          
    if(!confirm("Sollten diese Angaben Fehler enthalten, klicken Sie bitte auf Abbrechen und korrigieren Sie sie im Formular: " + vorname + " " + name + " / Durch anklicken von OK werden die Daten in der Datenbank abgespeichert."))return false;
    else return true;
          }
           </script>
    </head>
    
    <body>
    <form name="eingabeformular"
          action="eingabe.php" method="post"
          onSubmit="return chkeingabeformular()">
    <h1 align="center">Studentische Daten</h1>
      <p align="center">Bitte f&uuml;llen Sie alle folgenden Felder mit den 
    entsprechenden Daten aus:</p>
    <TABLE align="center" cellpadding="2" cellspacing="0">
        <TR>
          <TD><label><p id="tabelle" >Vorname</p></label></TD>
          <TD><input type="text" size="40" name="vorname"></TD>
        </TR>
        <TR>
          <TD><label><p id="tabelle" >Name</p></label></TD>
          <TD><input type="text" size="40" name="name"></TD>
        </TR>
        <TR>
          <TD><label></label></TD>
          <TD> <input type="submit" name ="submit" value="Speichern"></TD>
       </TR>
      </TABLE>
      <p id="tabelle" align="center">*Geben Sie das Geburtsdatum bitte ohne Punkte, o.a., wie folgt ein: <br>JJJJMMTT (z.B. 1. M&auml;rz 1982: 19820301)<br>**Geben Sie die vollst&auml;ndige Telefonnummer mit Vorwahl bitte ohne Leerstellen<br> oder trennende Zeichen, wie Kommata, Gedanken- oder Schr&auml;gstriche an.</p>
    </form>
    
    </body>
    </html>
    
     
  2. themaverick

    themaverick MacUser Mitglied

    Beiträge:
    407
    Zustimmungen:
    3
    Mitglied seit:
    15.06.2005
    hi. lass mal beim formular das "return" in
    onSubmit="return chkeingabeformular()">
    weg.
    also mach
    onSubmit="chkeingabeformular()">
     
  3. librarian

    librarian Thread Starter MacUser Mitglied

    Beiträge:
    36
    Zustimmungen:
    0
    Mitglied seit:
    21.08.2005
    Jetzt funktioniert's wieder, auch mit return. Sollte ich das lieber weglassen?
     
  4. themaverick

    themaverick MacUser Mitglied

    Beiträge:
    407
    Zustimmungen:
    3
    Mitglied seit:
    15.06.2005
    ich hab dasreturn an der stelle noch nie gesehen. könnte zu kompatibilitätsproblemen mit anderen browsern führen. kann aber auch ganz konform sein .. so gut kenn ich JS dann doch nicht :)
     
  5. dms

    dms

    Das return muss dort sein, damit das Formular (nicht) abgesendet wird.

    onsubmit="return true" ->Das Formular wird abgesendet.
    onsubmit="return false" -> Das Formular wird nicht abgesendet.
     
Die Seite wird geladen...

Diese Seite empfehlen