Sven Rautenberg: Begrenzte Menge Funktionen im Head-Tag?

Beitrag lesen

Habe das Skript richtig beendet. Leider kann ich Euch keinen Link schicken, da alles noch lokal gespeichert ist. Hier aber mal der gesamte Quelltext:

Das ist gut. Korrekturen schreib ich direkt rein (sind dank des Highlightings ja schnell sichtbar):

Zuerst: Die Angabe eines DOCTYPE ist unbedingt erforderlich, wenn man den Validator verwenden will (und das will man, um Fehler zu finden)!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html> <head>

<title>Ein Titel</title><!-- Der Titel ist verpflichtend -->

<link rel="stylesheet" type="text/css" href="formate.css"> <script language="JavaScript" type="text/javascript"> <!--     function cursor(){                       heute = new Date();                       document.bericht.angdat.value = heute.getDate()+"."+heute.getMonth()+1+"."+heute.getFullYear();                       document.bericht.prosdat.value = heute.getDate()+"."+heute.getMonth()+1+"."+heute.getFullYear();                       document.bericht.infodat.value = heute.getDate()+"."+heute.getMonth()+1+"."+heute.getFullYear();                       document.bericht.mustdat.value = heute.getDate()+"."+heute.getMonth()+1+"."+heute.getFullYear();                       document.bericht.kdnr.focus();                      }

function chkFormular(){                            if(document.bericht.kdnr.value == "") {                              alert ("Bitte Kundennummer eingeben!");                              document.bericht.kdnr.focus();                              return false;                            }                            var chkZ = 1;                            for(i=0;i<document.bericht.kdnr.value.length;++i)                               if(document.bericht.kdnr.value.charAt(i) < "0" || document.bericht.kdnr.value.charAt(i) > "9") chkZ = -1;                               if(chkZ == -1) {                                 alert("Bitte Zahl eingeben!");                                 document.bericht.kdnr.focus();                                 return false;                               }                            if(document.bericht.NL.options[0].selected == true) {                               alert ("Bitte Niederlassung auswählen!");                               document.bericht.NL.focus();                               return false;                            }                            if(document.bericht.name.value == "") {                              alert ("Bitte Name eingeben!");                              document.bericht.name.focus();                              return false;                            }                            if(document.bericht.segm.options[0].selected == true) {                              alert ("Bitte Segment auswählen!");                              document.bericht.segm.focus();                              return false;                            }                            var chkZ = 1;                            for(i=0;i<document.bericht.acryl.value.length;++i)                               if(document.bericht.acryl.value.charAt(i) < "0" || document.bericht.acryl.value.charAt(i) > "9") chkZ = -1;                               if(chkZ == -1) {                                 alert("Bitte Zahl eingeben!");                                 document.bericht.acryl.focus();                                 return false;                               }                            for(i=0;i<document.bericht.alu.value.length;++i)

if(document.bericht.alu.value.charAt(i) < "0" || document.bericht.alu.value.charAt(i) > "9") chkZ = -1; //Klammer zu fehlte

if(chkZ == -1) {

alert("Bitte Zahl eingeben!"); //Klammer zu fehlte

document.bericht.alu.focus();                                 return false;                               }                           }     function changeBox(cbox){                              box = eval(cbox);                              box.checked = !box.checked;                             }     function goToURL(){                        window.location = "hpcaditest.htm";                       } //--> </script>

</head>

<body onload="cursor();">

<p>Füllen Sie bitte alle Felder aus. Felder mit einem * sind Mußfelder.</p>

<form action="irgendwas"><!-- action ist unbedingt erforderlich --> <input type="button" Value="HILFE" ONCLICK="window.open('aussenhilfe.htm', 'Sample', 'directories=no,toolbar=yes,menubar=yes,scrollbars=yes,copyhistory=yes,width=635,height=260')"></form> <!-- <inut type="button" value="HILFE" onClick= Merke: angefangenes HTML ist garnicht gut! --> <h3>Kundendaten</h3> <!-- Entweder <p> oder <h3>, aber nicht <h3> in <p> - das ist falsche Verschachtelung und wird angemeckert. -->

<form action="cgi-bin/aussentest.pl" method="post" name="bericht" onSubmit="return chkFormular()">     <table>         <tr>             <td>Kundennummer:</td>             <td><input type="text" name="kdnr" size="10" ></td>             <td>Niederlassung:</td>         </tr>         <tr>             <td>Name:</td>             <td><input type="text" name="name" size="30"></td>             <td>Bezirk:</td>             <td><input type="text" name="bez" size="10"></td>         </tr>         <tr>             <td>Ansprechpartner:</td>             <td><input type="text" name="anspr" size="30"></td>             <td>AD-Tour:</td>             <td><input type="text" name="adt" size="10"></td>         </tr>         <tr>             <td>Straße/Nr:</td>             <td><input type="text" name="str" size="30"><input type="text" name="nr" size="4"></td>             <td>Branche/Tätigkeitsfeld</td>             <td><input type="text" name="bran" size="30"></td>         </tr>         <tr>             <td>PLZ:</td>             <td><input type="text" name="plz" size="6" maxlength="5"></td>             <td>Segment:</td>             <td><select name="segm">                 <option></option>                 <option>Leuchtt./Schilder</option>                 <option>.....</option>                 </select>              </td>         </tr> </table> <table>         <tr>             <td width="130">Acrylglas</td>             <td width="15"><input type="text" name="acryl" size="10"></td>             <td width="200">Eur</td>             <td width="150">Alu</td>             <td width="15"><input type="text" name="alu" size="10"></td>             <td>Eur</td>         </tr> </table> <p><input type="submit" value="Anlegen">     <input type="reset" value="alles verwerfen">     <input type="button" value="Zurück" onClick="goToURL()">     </p> </form> </body> </html>

Das einzige Problem, was jetzt noch besteht: Du hast im Formular offenbar keine Felder definiert, die deine Funktion ansprechen könnte. Die mußt du dann noch mal anlegen.

PS: Vorgehensweise bei Problemen sollte immer sein:

  1. Seite im Validator prüfen. Alle Fehler beseitigen. ALLE! Nur dann ist sichergestellt, daß der Browser erkennt, was du meinst - auch wenn er vorher schon auf den Bildschirm malt, was du meinst - das ist aber nicht das gleiche.

  2. Fehlermeldungen betrachten. Javascript wirft immer Fehlermeldungen raus - es ist deine Aufgabe, einen Browser mit den Einstellungen zu verwenden, der dir die Fehlermeldungen auch ordentlich anzeigt. Der IE ist da leider nicht wirklich brauchbar, Netscape (mit der Javascript-Konsole) oder Opera sind da besser.

  3. Fehlermeldungen der Reihe nach abarbeiten. ;)

- Sven Rautenberg