Syntaxfehler, aber wo?
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
aufruf
browser
code
dank
eigenschaft
fehler
fehlermeldung
funktion
funktionieren
gemacht danke
hilfe
objekt
probier
rein code
string
stunden
taschenrechner
verwenden
zeile
zweite zeile
-
Hallo,
ich programmiere seit 4 Jahren in JavaScript. Aber irgendwie hab ich hier nen Fehler, den ich nicht kleinkriege.
Ich schreibe euch mal den Code:
<html> <head> <title>Taschenrechner</title> <script type="text/javascript"> function(zhz){ document.write(zhz); //Das hier ist nur ein Beispiel. Nachher kommt dort was anderes rein. } function(op){ //Den Inhalt dieser Funktion hab ich auch mal rausgenommen, da der Inhalt überflüssig ist. } function machetabelle(){ var i=1; i=1; document.write('<tr>'); while (i<10){ if (((i-1) % 3)==0){ document.write('</tr><tr>'); } document.write('<td><input type="submit" value="'+i+'" onClick="javascript:zhz("'+i+'");"></input></td>'); i++; } } </script> </head> <body> <form name="feld"> <table border="0"> <script type="text/javascript">machetabelle();</script> </table> </form> </body> </html>
Wenn ich nun auf Einen der Buttons klicke, sagt er mir aber Syntaxerror, anstatt die jeweilige Zahl zu schreiben. Sowohl mit der richtigen Funktion (das hier ist nur eine Beispielfunktion.), als auch mit alert klappt es nicht.
Ich hab alles durchgeschaut, komm aber einfach nicht dahinter.
Seht ihr vielleicht mehr als ich? Oder hab ich vielleicht (was für mich typisch ist) einen dieser dämlichen Schusselfehler gemacht?
Danke im Voraus
mfg Mokuba01
EDIT: nach weiterem Suchen bin ich der Meinung, dass der Fehler in diesem Bereich liegt:
document.write('<td><input type="submit" value="'+i+'" onClick="javascript:zhz("'+i+'");"></input></td>');
Beitrag zuletzt geändert: 11.10.2009 19:36:14 von mokuba01 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
In Zeile 5 hast du keinen Funktionsnamen angegeben, und Zeile 30 rufst du die Funktion machetabelle() auf, die aber noch nicht fertig definiert ist, setze ein Timeout, oder mache body onlod="machetabelle()".
mfg drafed-map -
Eine Funktion ohne Funktionsnamen... ich glaube da liegt schonmal der erste Fehler, habe sowas noch nie gesehen...function(zhz){ document.write(zhz); //Das hier ist nur ein Beispiel. Nachher kommt dort was anderes rein. }
Die zweite Zeile ist überflüssig...var i=1; i=1;
Das kann nicht funktionieren. Beim Aufruf der Funktion solltest du statt " ein \" verwenden, dann könnte es funktionieren.document.write('<td><input type="submit" value="'+i+'" onClick="javascript:zhz("'+i+'");"></input></td>');
Probier das einfach mal ;)
Beitrag zuletzt geändert: 11.10.2009 19:38:16 von qap2 -
Danke.
Dank eurer Hilfe funzt es jetzt.
So sieht es nun aus:
<html> <head> <title>Taschenrechner</title> <script type="text/javascript"> function zhz(zhz){ document.write(zhz); } function op(op){ } function beginnetabelle(){ window.SetTimeOut("machetabelle()",10); } function machetabelle(){ var i=1; document.write('<tr>'); while (i<10){ if (((i-1) % 3)==0){ document.write('</tr><tr>'); } document.write('<td><input type=\"submit\" value=\"'+i+'\" onClick="javascript:zhz('+i+');"></input></td>'); i++; } } </script> </head> <body onload="javascript:beginnetabelle();"> <form name="feld"> <table border="0"> <script type="text/javascript">machetabelle();</script> </table> </form> </body> </html>
Das klappt einwandfrei, auch wenn der IE ne Fehlermeldung gibt ("Objekt unterstützt diese Eigenschaft nicht."). Aber es funzt trotzdem unter FF und IE.
Schlusswort:
Vielleicht sollte ich:
1. Nicht 12 Stunden täglich mich mit meiner Site befassen
2. Nicht mehr abends coden (Meine Kronzentation lässt deutlich nach und ich frage mich, wie mir solche simplen Fehler
passieren konnten)
Danke für eure Hilfe
mfg Mokuba01
Beitrag zuletzt geändert: 11.10.2009 19:57:43 von mokuba01 -
qap2 schrieb:
Das kann nicht funktionieren. Beim Aufruf der Funktion solltest du statt " ein \" verwenden, dann könnte es funktionieren.document.write('<td><input type="submit" value="'+i+'" onClick="javascript:zhz("'+i+'");"></input></td>');
Die normalen " sind kein Problem, sofern der String von einfachen ' umschlossen ist. Von daher ist hier nichts falsch.
@Threadersteller: Was mich wundert, ist dass du von deinen Browser keine brauchbaren Fehlermeldungen bekommen hast. Am besten du verwendest mehrere Browser in solchen Fällen und irgendeiner wird schon eine Fehlermeldung ausspucken, die brauchbar ist. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage