jpkow: JS-Fehler: Objekt erwartet

Hallo,

habe ein Problem mit folgendem Scritp. Ist eigentlich ein ganz einfaches Script, aber es will nicht funktionieren. Es kommt vom IE der Fehler: "Objekt erwartet" und zwar an der Stelle, wo der Button auf das Script verweist.
Kann sich das mal jemand anschauen:

---------------------------

<HTML>
<HEAD><TITLE>Zufallszahlen</TITLE>

<SCRIPT language="JavaScript">

function Wuerfeln() {

var Ergebnis;
var Output;

Anzahl = new Array(6);
Anzahl[0] = "1";
Anzahl[1] = "2";
Anzahl[2] = "3";
Anzahl[3] = "4";
Anzahl[4] = "5";
Anzahl[5] = "6";

Ausgabe = new Array(10);

for (i=0; i<10; i=i+1)
 {

Ausgabe[i] = Math.round((Math.random()*6));
 Output = Output + Ausgabe[i];

}

alert(Ausgabe[1]);
document.formular.output.value = "Zufallszahlen: " + Ausgabe[0] + ", " Ausgabe[1] + ", " Ausgabe[2] + ", " Ausgabe[3] + ", " Ausgabe[4] + ", " Ausgabe[5] + ", " Ausgabe[6] + ", " Ausgabe[7] + ", " Ausgabe[8] + ", " Ausgabe[9];

}

</SCRIPT>
</HEAD>

<BODY>
<H2></H2>

<FORM NAME="formular">

<INPUT TYPE="button" VALUE="Zufallszahlen ausgeben" ONCLICK="Wuerfeln();"><P>
<INPUT TYPE="text" NAME="output" size="70" value=""><P>
</FORM>

</BODY>
</HTML>

-------------------------

Danke schon im Voraus für eure Hilfe.

VG
jpkow.

  1. Hallo,

    habe ein Problem mit folgendem Scritp. Ist eigentlich ein ganz einfaches Script, aber es will nicht funktionieren. Es kommt vom IE der Fehler: "Objekt erwartet" und zwar an der Stelle, wo der Button auf das Script verweist.

    Vorher kommt "';' erwartet" und zwar

    document.formular.output.value = "Zufallszahlen: " + Ausgabe[0] + ", " Ausgabe[1] + ", " Ausgabe[2] + ", " Ausgabe[3] + ", " Ausgabe[4] + ", " Ausgabe[5] + ", " Ausgabe[6] + ", " Ausgabe[7] + ", " Ausgabe[8] + ", " Ausgabe[9];

    in dieser Zeile. Da fehlen einige Operator-Zeichen (+). Da die Funktion wegen dieses Fehlers gar nicht erstellt wird, existiert sie dann beim Aufruf auch nicht.

    viele Grüße

    Axel

    1. Hallo,

      Das muss ich wohl übersehen haben. Danke für die Hilfe. Jetzt funktioniert es einwandfrei.

      Jetzt habe ich noch eine andere Frage. Vielleicht ist es ja jemandem aufgefallen, nämlich im Script stand noch ein Array mit 6 Zahlen von 1-6 drinnen. Gibt es eine Funktion, die einfach immer zufällig eine 1, 2, 3, 4, 5 oder eine 6 übergibt? Kam da mit der Funktion random() nicht sehr weit. Deswegen habe ich das dann anders gelöst.

      Danke schon im Voraus für eure Hilfe.

      vg
      jpkow.

      1. hi,

        Gibt es eine Funktion, die einfach immer zufällig eine 1, 2, 3, 4, 5 oder eine 6 übergibt? Kam da mit der Funktion random() nicht sehr weit.

        Math.random liefert eine Zahl x mit 0 <= x < 1.
        Willst du deren Wertebereich auf 1 bis 6 "aufbohren", und dabei nur ganzzahlige Werte erhalten, musst du den Zufallswert noch ein bisschen weiter bearbeiten: Mit 6 multiplizieren, liefert eine (Float-)Zahl zwischen 0 (inklusive) und 6 (exklusive).
        Davon mit Math.floor() nur den ganzzahligen Anteil betrachten, liefert eine Zahl von 0 bis 5.
        Eins draufaddieren, verschiebt den Bereich auf 1 bis 6.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hallo,

          Math.random liefert eine Zahl x mit 0 <= x < 1.
          Willst du deren Wertebereich auf 1 bis 6 "aufbohren", und dabei nur ganzzahlige Werte erhalten, musst du den Zufallswert noch ein bisschen weiter bearbeiten: Mit 6 multiplizieren, liefert eine (Float-)Zahl zwischen 0 (inklusive) und 6 (exklusive).
          Davon mit Math.floor() nur den ganzzahligen Anteil betrachten, liefert eine Zahl von 0 bis 5.
          Eins draufaddieren, verschiebt den Bereich auf 1 bis 6.

          wir hatten nun nämlich eine Aufgabenstellung, wo ich mich immer noch frage, wie das genau zu lösen ginge mit einem _Array_.

          Gegeben ist ein Array Anzahl:

            
          Anzahl = new Array(6);  
          Anzahl[0] = "1";  
          Anzahl[1] = "2";  
          Anzahl[2] = "3";  
          Anzahl[3] = "4";  
          Anzahl[4] = "5";  
          Anzahl[5] = "6";  
          
          

          nun soll immer zufällig eine von den vorgegeben werten übergeben werden und das 10x in Folge.

          Kann man das auch ohne Math.Random realisieren??

          Danke schon im Voraus für eure Hilfe.

          VG
          jpkow.

          1. Math.random liefert eine Zahl x mit 0 <= x < 1.
            Willst du deren Wertebereich auf 1 bis 6 "aufbohren", und dabei nur ganzzahlige Werte erhalten, musst du den Zufallswert noch ein bisschen weiter bearbeiten: Mit 6 multiplizieren, liefert eine (Float-)Zahl zwischen 0 (inklusive) und 6 (exklusive).
            Davon mit Math.floor() nur den ganzzahligen Anteil betrachten, liefert eine Zahl von 0 bis 5.
            Eins draufaddieren, verschiebt den Bereich auf 1 bis 6.

            wir hatten nun nämlich eine Aufgabenstellung, wo ich mich immer noch frage, wie das genau zu lösen ginge mit einem _Array_.

            Gegeben ist ein Array Anzahl:

            Anzahl = new Array(6);
            Anzahl[0] = "1";
            Anzahl[1] = "2";
            Anzahl[2] = "3";
            Anzahl[3] = "4";
            Anzahl[4] = "5";
            Anzahl[5] = "6";

            
            >   
            > nun soll immer zufällig eine von den vorgegeben werten übergeben werden und das 10x in Folge.  
              
            Wozu das Array?  
            wahsaga hat dir einen Weg beschrieben wie du zufällig Zahlen aus einem Bereich auswählen kannst  
            Und eine Schleife bekommst du mit for() hin.  
              
              
            
            > Kann man das auch ohne Math.Random realisieren??  
              
            Dazu brauchst du einen zufallsalgorithmus, aber wozu?  
              
            Struppi.
            
            -- 
            [Javascript ist toll](http://javascript.jstruebig.de/) (Perl auch!)
            
            1. Hallo,

              Wozu das Array?

              weil es so in der aufgabenstellung drinnen stand. ich finde es auch sinnlos ;)

              Und eine Schleife bekommst du mit for() hin.

              die schleife ist ja eingebaut, siehe script oben ;)

              Danke schon im Voraus für eure Hilfe.

              VG
              jpkow.

              1. du solltest dir ein bisschen einen sinnvollen Zitierstil angewähnen es ist schwer sich aus den verschiedenen Nachrichten das zusammen zu suchen, auf das du antwortest, danke.

                Wozu das Array?

                weil es so in der aufgabenstellung drinnen stand. ich finde es auch sinnlos ;)

                Jetzt hab ich verstanden worum es geht, das Array ist für das Ergebniss, damit du die Zahlen ausgeben kannst.

                Und eine Schleife bekommst du mit for() hin.

                die schleife ist ja eingebaut, siehe script oben ;)

                OK, aber du wahsaga hat dir darauf eine Antwort gegeben und diese ist bisher nicht in deine Überlegungen eingeflossen?

                Es bringt halt nicht viel dir dauernd Tipps zu geben und dann nicht zu wissen inwieweit du die verstanden hast und versuchst sie umzusetzen.

                (Noch ein Tipp: sechs Zufallszahlen ist DER Klassiker wenn man programmieren lernt, bei  mir war das in der 9. Klasse Anno 1982 mit BASIC, d.h. du solltest für dieses Problem ca. 1 Trilliarden Ansätze im Internet finden. Falls dir das Lernen zu schwierig erscheint)

                Struppi.

                --
                Javascript ist toll (Perl auch!)