H²O: Zufallsgenerator auf ein Textfeld anwenden

Hallo.

Schaut euch mal das Script da unten an. Per Zufallsgenerator wird in die Datei ein Buchstabe geschrieben.
Das will ich nun auf ein Textfeld anwenden, also das was eigentlich in die Datei geschrieben wird, soll nun in das Textfeld geschrieben werden.
Allerdings gibt es bei mir in der entscheidenden Zeile immer nur eine Fehlermeldung.

Wäre nett, wenn mir jemand sagen könnte was falsch ist.

Danke H²O ...

... und hier das Script:

<html>
<head>
</head>
<body>

<script>
var x = new Array("a","b","c","d","e","f","g","h","i","j");
var y = Math.round(Math.random()*10);
z = y - 1
if(y >9) y = 9;
if(z <0) z = 0;
document.write(x[z]);
document.forms[0].elements[0].value = x[z];     //was stimmt an dieser Zeile nicht?
</script>

<form name="Test">
<input type="text" size="10" name="Eingabe">  //hier sollte eigentlich etwas drinstehen

</form>

</body>
</html>

  1. <html>
    <head>
    </head>
    <body>

    unnötig

    <script>

    Was fürn Script? JavaScript ? :-)

    var x = new Array("a","b","c","d","e","f","g","h","i","j");
    var y = Math.round(Math.random()*10);
    z = y - 1
    if(y >9) y = 9;
    if(z <0) z = 0;
    document.write(x[z]);
    document.forms[0].elements[0].value = x[z];     //was stimmt an dieser Zeile nicht?
    </script>

    <form name="Test">

    Wenn du schon die benötigten Attribute weglässt, kannst du doch wenigstens auch die unnwichtigen weglassen

    <input type="text" size="10" name="Eingabe">  //hier sollte eigentlich etwas drinstehen

    Meinste nicht es wäre geschickt wenn du ein value-Attribut da reinmachen würdest, damit der Browser auch weiss, was er mit deinem Buchstaben machen soll?

    </form>

    </body>
    </html>

    1. Hi.

      Wie meinst du das denn genau? Also das Script sieht jetzt so aus:

      <html>
      <head>
      </head>
      <body>

      <script language="JavaScript" type="text/javascript"> //hast Recht
      var x = new Array("a","b","c","d","e","f","g","h","i","j");
      var y = Math.round(Math.random()*10);
      z = y - 1
      if(y >9) y = 9;
      if(z <0) z = 0;
      document.write(x[z]);
      document.forms[0].elements[0].value = x[z];     //hier muss der Fehler sein
      </script>

      <form name="Test">

      <input type="text" size="10" name="Eingabe" value="???">  //was soll in das value denn rein?

      </form>

      </body>
      </html>

      Meinste nicht es wäre geschickt wenn du ein value-Attribut da reinmachen würdest, damit der Browser auch weiss, was er mit deinem Buchstaben machen soll?

      Ich verstehe nur leider nicht, wie du das jetzt meinst.

      Ach übrigens die Fehlermeldung heißt:
      "document.forms.0.elements ist null oder kein Objekt"

      Wäre nett, wenn du mir sagen könntest, was falsch ist und was ich in den value reinschreiben muss.

      Danke H²O

  2. hi,

    document.forms[0].elements[0].value = x[z];     //was stimmt an dieser Zeile nicht?

    es _gibt_ zu diesem zeitpunkt noch kein formular, weil du das erst in den zeilen _darunter_ stehen hast:

    <form name="Test">
    <input type="text" size="10" name="Eingabe">  //hier sollte eigentlich etwas drinstehen
    </form>

    gruss,
    wahsaga

    1. Hallo.

      es _gibt_ zu diesem zeitpunkt noch kein formular, weil du das erst in den zeilen _darunter_ stehen hast:

      Ich Idiot. Hätte ich auch selber drauf kommen können.

      Danke, H²O