Yadgar: Bin ich zu dumm zum Programmieren?

High!

Lotto-Simulation, die Zweite... der Code:

<html>
<head>
  <title>Lotto-Simulation 6 aus 49</title>
  <script type="text/javascript">
    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 < j)
            {
              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++;
            }
          }
          if (flag == false) break;
          j++;
        }
      }
      return flag;
    }

function tippe()
    {
      if (window.document.tip) delete tip;
      tip = new Array(6);
      var i=0;
      while (i < 6)
      {
          if (!check(window.document.forms[i].elements[0].value))
          {
            window.document.forms[i].reset();
          }
        tip[i] = window.document.forms[i].elements[0].value;
        i++;
      }
    }
    function ziehe()
    {
      if (window.document.ziehung) delete ziehung;
      ziehung = new Array(7);
      var i=0;
      while (i < 7) // mit Zusatzzahl!
      {
        if (i > 0)
 {
   var j = 0;
   while (j < i)
   {
     do
     {
       ziehung[i] = Math.floor(Math.random() * 49 + 1);
       alert(ziehung[i]);
     }
     while (ziehung[i] == ziehung[j]);
     j++;
   }
 }
        else ziehung[i] = Math.floor(Math.random() * 49 + 1);
 i++;
      }
      ziehung.sort();
      document.write(ziehung[4]);
      document.write("Gezogen wurden:<br><br>");
      for (i = 0; i < 7; i++)
      {
 if (i == 6) document.write("Zusatzzahl: ");
 document.write(ziehung[i] + "<br>");
        // document.write("Bla! ");
      }
    }

</script>
</head>
<body>
  Geben Sie bitte sechs Zahlen zwischen 1 und 49 ein!<br>
  <table>
    <tr>
      <td width="50"><form><input type="text" size="2" maxlength="2"></form></td>
        <td width="50"><form><input type="text" size="2" maxlength="2"></form></td>
        <td width="50"><form><input type="text" size="2" maxlength="2"></form></td>
        <td width="50"><form><input type="text" size="2" maxlength="2"></form></td>
        <td width="50"><form><input type="text" size="2" maxlength="2"></form></td>
        <td width="50"><form><input type="text" size="2" maxlength="2"></form></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>

So weit, so gut... tippe() funktioniert jetzt einwandfrei, was aber beim besten Willen nicht klappt, ist die Ausgabe des Arrays "ziehung" - nach "Gezogen wurden:" werden keine Werte ausgegeben, die Ladeanzeige im Browser läuft und läuft, und die Konsole gibt die Fehlermeldung aus "ziehung is not defined (line 84)", wobei line 84 die Zeile document.write(ziehung[i] + "<br>"); in ebendieser Ausgabeschleife ist!

Ich bin mal wieder völlig mit meinem Latein am Ende...

Bis bald,

Yadgar

  1. Hallo Yadgar

    ..., und die Konsole gibt die Fehlermeldung aus "ziehung is not defined (line 84)", wobei line 84 die Zeile document.write(ziehung[i] + "<br>"); in ebendieser Ausgabeschleife ist!

    Selbstverständlich, du kannst mit document.write kein bestehendes Dokument
    ändern.
    In dem Augenblick, wo document.write auf ein bestehendes Dokument angewendet
    wird, wird es komplett überschrieben. Es ist dann auch kein Javascript mehr
    vorhanden.

    Auf Wiederlesen
    Detlef

    --
    - Wissen ist gut
    - Können ist besser
    - aber das Beste und Interessanteste ist der Weg dahin!
  2. hi Yadgar

    beschäftige dich mit nodes. Diese ermöglichen das lösen deines Problems.

    so long
    Ole
    (8-)>

    --
    Stickstoff eignet sich nicht für Handarbeiten.