Yadgar: Funktion korrekt gecodet und trotzdem "not defined"

High!

Kann es eigentlich sein, dass ich innerhalb des <head>-Tags ein <script> mit Funktionen habe, in dem es m. E. keine Syntaxfehler gibt und trotzdem beim Aufruf einer dieser Funktionen mittels Event-Handler (z. B. onclick) die Fehlermeldung "...is not defined" erscheint?

Hier der Code:

function tippe()
    {
      var i=0;
      while (i < 6)
      {
        if (!check(window.document.tippreihe.elements[i].value))
 {
   window.document.tippreihe.elements[i].value = "";
   break;
 }
        tip[i] = window.document.tippreihe.elements[i].value;
      }
    }

</script>
</head>
<body>
  Geben Sie bitte sechs Zahlen zwischen 1 und 49 ein!<br>
  <form name="tippreihe">
    <table>
      <tr>
        <td width="50"><input type="text" size="2" maxlength="2"></td>
 <td width="50"><input type="text" size="2" maxlength="2"></td>
 <td width="50"><input type="text" size="2" maxlength="2"></td>
 <td width="50"><input type="text" size="2" maxlength="2"></td>
 <td width="50"><input type="text" size="2" maxlength="2"></td>
 <td width="50"><input type="text" size="2" maxlength="2"></td>
      </tr>
      <tr>
        <td colspan="3"><input type="button" name="tippen" value="Tippen!" onclick="tippe()"></td>
 <td colspan="3"><input type="button" name="ziehung" value="Ziehung starten!" onclick="ziehe()"></td>
      </tr>
    </table>
  </form>
</body>
</html>

Die Fehlermeldung bezieht sich auf die Funktion "tippe()"!

Bis bald im Khyberspace!

Yadgar

  1. Hi there,

    Die Fehlermeldung bezieht sich auf die Funktion "tippe()"!

    Nein, die Fehlermeldung bezieht sich auf ein Fehlen der Funktion "check()"...

    1. Nein, die Fehlermeldung bezieht sich auf ein Fehlen der Funktion "check()"...

      O.k., hier der komplette Code:

      <html>
      <head>
        <title>Lotto-Simulation 6 aus 49</title>
        <script type="text/javascript">
          tip = new Array(6);
          function check(wert)
          {
            var flag = true;
            if (isNaN(wert) || wert < 1 || wert > 49)
            {
       flag = false;
       alert("Bitte geben Sie eine Zahl zwischen 1 und 49 ein!");
            }
            else
            {
              var j = 0;
              while (j < tip.length)
              {
                if (j > 0)
         {
           var k = 0;
           while (k < i)
           {
             if (wert == tip[k]
             {
               flag = false;
               alert("Diese Zahl haben Sie bereits getippt. Bitte geben Sie eine andere Zahl zwischen 1 und 49 ein!");
               break;
             }
             k++;
           }
         }
       }
            }
            return flag;
          }

      function tippe()
          {
            var i=0;
            while (i < 6)
            {
              if (!check(window.document.tippreihe.elements[i].value))
       {
         window.document.tippreihe.elements[i].value = "";
         break;
       }
              tip[i] = window.document.tippreihe.elements[i].value;
              i++;
            }
          }

      </script>
      </head>
      <body>
        Geben Sie bitte sechs Zahlen zwischen 1 und 49 ein!<br>
        <form name="tippreihe">
          <table>
            <tr>
              <td width="50"><input type="text" size="2" maxlength="2"></td>
       <td width="50"><input type="text" size="2" maxlength="2"></td>
       <td width="50"><input type="text" size="2" maxlength="2"></td>
       <td width="50"><input type="text" size="2" maxlength="2"></td>
       <td width="50"><input type="text" size="2" maxlength="2"></td>
       <td width="50"><input type="text" size="2" maxlength="2"></td>
            </tr>
            <tr>
              <td colspan="3"><input type="button" name="tippen" value="Tippen!" onclick="tippe()"></td>
       <td colspan="3"><input type="button" name="ziehung" value="Ziehung starten!" onclick="ziehe()"></td>
            </tr>
          </table>
        </form>
      </body>
      </html>

      ...an der Fehlermeldung ändert sich nichts!

      Bis bald im Khyberspace!

      Yadgar

      Now playing: Schade Deutschland (Cats TV)

      1. Hi there,

        if (wert == tip[k]

        Da fehlt ^^^^^^^^^^^^^^^^^^^^ einmal eine Klammer, und die funktion "ziehe()" ist nirgends defined...

      2. Hi there,

        ausserdem schickst Du das Skript uU auf eine Endlosschleife (weil Du j nirgends inkrementierst)...

  2. Hallo Yadgar.

    [code lang=javascript]var i=0;
          while (i < 6)
          {
           […]
        }[/javascript]

    Übersetzung: Setze i auf den Wert 0 und führe … aus, solange i kleiner als 6. Kurz: ∞

    Die Fehlermeldung bezieht sich auf die Funktion "tippe()"!

    Indirekt schon; präziser:

    [code lang=javascript]if (!check(window.document.tippreihe.elements[i].value))[/javascript]

    Wo ist die Funktion check() deklariert worden?

    Einen schönen Dienstag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    mathbr:del.icio.us/ mathbr:w00t/