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:
-
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.
-
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.
-
Fehlermeldungen der Reihe nach abarbeiten. ;)
- Sven Rautenberg