Klassen: Problem mit Script, bitte um Hilfe!

Beitrag lesen

Bitte merken: fragenarray ist ein Array mit zwei Arrays als Elementen, ansprechbar als: fragenarray[0] und fragenarray[1].

Danke ist bekannt!

BTW: was soll die 0 dazwischen?

Ist z.Zt noch unwichtig!

Beim erstem Mal beinhalted das Array g_frage fragenarray[0]?

Ja, dsa ist so richtig.

Beim zweiten Mal fragenarray[1] und beim iten Mal fragenarray[i]?

Nein, tut mir leid, das ist nicht korrekt.

Kannst du mir auch sagen, warum das so nicht korreckt ist?

g_frage[0] entspricht fragenarray[0][0]. Warum arbeitest Du hier mit einer Kopie?

Habe das jetzt umgeändert, wusste nicht, dass man ein zweidimensionales Array mit[x][x] ansprechen kann! Habe nun das Hilfsarray g_frage rausgeworfen! s.u.

» Der FireFox Debugger gibt als Fehlermeldung "g_frage is not defined" (Zeile 19) -> "<input type="radio" name="radio" value="1">'+g_frage[2]+'" das scheint auch logisch, dennn der erste TEil der Scripts wird abgearbeitet! Denke mal das es was mit dem "+g_frage[2]+'" hier zu tun hat, weiß allerdings nicht was, da es beim ersten mal ja auch reibungslos klappt!

Bei mir klappt es noch nicht einmal beim ersten Mal.
Ändere ich jedoch die zwei Aufrufe von document.write()

document.write(''+g_frage[0]+'');
document.write('<form name="form1" method="post" action="">...

in einen um

document.write(g_frage[0]+'<form name="form1" method="post" action="">...

bekomme ich schonmal Dein Formular angezeigt. Wenn ich jetzt auf "weiter" klicke und check() aufgerufen werden soll, sagt mir die Javascript-Konsole (das ist übrigens nicht der Debugger, den Du da benutzt, der ist wieder ein anderes Programm. Es reicht aber meistens die Console.)
"Error: check is not defined"
Warum nicht?
Nun, document.write() _überschreibt_ alles!

Verstehe deine Erläuterungen hier nicht, bekomme keine solche Fehlermeldung!

PS: Bitte nur Lösungsvorschläge, sprich keine Äusserungen zur Programmiersprachenwahl oder sonstiges, es ist ein Schulprojekt und muss in Javascript angefertitgt werden! Das es noch nicht sehr weit ist, weiß ich auch selber!

Ich will ja auch gar kein fertiges Script vorgelegt bekommen! Ich verstehe allerdings nicht, warum document.write ungeeignet ist!

mfg Klassen

Hier nun noch mein aktuelles Script:

var fragenarray = new Array(
                  new Array("Dies ist Frage A",0,"Antwort1","Antwort2","Antwort3","Antwort4"),
                  new Array("Dies ist Frage B",0,"Antwort1","Antwort2","Antwort3","Antwort4"));
var i = -1;

function init()
{
i=i+1;
alert(i);
document.write(''+fragenarray[i][0]+'');
document.write('<form name="form1" method="post" action="">\   <p>\     <input type="radio" name="radio" value="1">'+fragenarray[i][2]+'\     <br>\     <input type="radio" name="radio" value="2">'+fragenarray[i][3]+'\     <br>\     <input type="radio" name="radio" value="3">'+fragenarray[i][4]+'\     <br>\     <input type="radio" name="radio" value="4">'+fragenarray[i][5]+'\     <br>\   </p>\   <input type="button" name="b_backward" value="Zurück" onClick="javascript:back()">\   <input type="button" name="b_forward" value="Weiter" onClick="javascript:check()">\ </form>');
}

function check()
{
    if(document.form1.radio[2].checked == true)
    {
      alert('Richtig');
      init();
    }
    else
    {
     alert('Falsch');
    }
}

function back()
{
alert('HUHU');
}