kostenloser Webspace werbefrei: lima-city


Syntaxfehler, aber wo?

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    m******1

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. function(zhz){
    document.write(zhz); //Das hier ist nur ein Beispiel. Nachher kommt dort was anderes rein.
    }
    Eine Funktion ohne Funktionsnamen... ich glaube da liegt schonmal der erste Fehler, habe sowas noch nie gesehen...
    var i=1;
    i=1;
    Die zweite Zeile ist überflüssig...
    document.write('<td><input type="submit" value="'+i+'" onClick="javascript:zhz("'+i+'");"></input></td>');
    Das kann nicht funktionieren. Beim Aufruf der Funktion solltest du statt " ein \" verwenden, dann könnte es funktionieren.
    Probier das einfach mal ;)

    Beitrag zuletzt geändert: 11.10.2009 19:38:16 von qap2
  5. Autor dieses Themas

    m******1

    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
  6. qap2 schrieb:
    document.write('<td><input type="submit" value="'+i+'" onClick="javascript:zhz("'+i+'");"></input></td>');
    Das kann nicht funktionieren. Beim Aufruf der Funktion solltest du statt " ein \" verwenden, dann könnte es funktionieren.

    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.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!