tomy: Textfeld

Ich bin dabei einen Onnline Test zu programmieren. Der sieht so aus, man hat 10 Fragen und zu jeder Frage gehören zwei radio Buttons (Richtig, Falsch) Am ende der 10 Fragen kommt ein Textfeld dazu gehört ein Button wenn man auf ihn klickt wertet er die Fragen aus und verteilt Punkte.
Das Textfeld mit dem Button habe ich so erstellt:

<TEXTAREA cols=45 name=auswertung rows=23></TEXTAREA>
<INPUT onclick=check() type=button value="Auswertung start">

Nun soll aber die Auswertung auf einer anderen Seite stattfinden, sprich man soll zuerst auf einen Link mit dem Namen Auswertung klicken. Das Problem dabei ist, ich weiß nicht wie ich dem Programm sagen soll das es die Fragen von der anderen Seite auswerten soll. Muß man da so ne Art Pfad angeben??

Weiß echt nicht mehr weiter Please help!
tomy

  1. Hallo tomy

    Nun soll aber die Auswertung auf einer anderen Seite stattfinden, sprich man soll zuerst auf einen Link mit dem Namen Auswertung klicken. Das Problem dabei ist, ich weiß nicht wie ich dem Programm sagen soll das es die Fragen von der anderen Seite auswerten soll. Muß man da so ne Art Pfad angeben??

    Ich glaube
    http://aktuell.de.selfhtml.org/artikel/javascript/wertuebergabe/index.htm und
    http://aktuell.de.selfhtml.org/artikel/javascript/wertuebergabe-2/index.htm dürften dich interessieren.

    Schöne Grüße

    Johannes

    --
    ss:| zu:) ls:[ fo:) de:] va:) ch:? sh:( n4:& rl:( br:< js:| ie:{ fl:( mo:}
  2. Moin!

    Vermutlich wirst Du mehr und schnellere Hilfe bekommen, wenn von Deinem Formular mehr und darin nur valides HTML zu sehen ist.

    name=auswertung -> name="auswertung"
    und so weiter.

    Auch den Form- Tag will ich sehen.
    Ich will wissen, wie das andere Formular aussieht.
    Und wie denn Deine Fenster so heissen (Sind es Frames?) wäre auch wichtig.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Meinereinerselbst ist auf der Suche nach Aufträgen
    1. Hi finde ich echt klasse das du mir helfen willst fastix®.
      ich hab die Seite ins Netzt gestellt unter:
      http://illu23.dyndns.org

      Wie gesagt das Textfeld mit Button soll auf ne andere Seite. Denk mal das du mein Problem versatnden hast Wenn nicht sag bescheid
      Danke nochmal echt cool von dir
      tomy

      1. Moin!

        Helfen ja. Machen werd ich's aber nicht für Dich.
        [0] Die Auswertung steht im gleichen Frame...

        [1] Benenne Deine Radiobuttons anders. Und gehe nicht über die ID des Elements. Das macht nur Streß.

        Tip:
        Frage 1 Buttonpaar 1: => name="B1_1"
        Frage 1 Buttonpaar 2: => name="B1_4"
        ...
        Frage 10 Buttonpaar 4: => name="B10_4"

        [2] Dann kanst Du übersichtlicher abfragen, was eingegeben wurde

        statt: afrage1=window.document.forms[0].elements[1].checked;
        Lese die Werte in ein Array:

        B[1][1]=window.document.forms[0].elements["B1_1"].checked;
        B[1][2]=window.document.forms[0].elements["B1_2"].checked;
        ...
        B[10][4]=window.document.forms[0].elements["B10_4"].checked;
        Ist das nicht schön übersichtlich?

        Lege ein Array an, welches die Lösung enthält:
        Zuerst setzt Du alle auf falsch:

        for (var i=1; i <= 10; i++) {
          for (var k=1; k <= 10; k++) {
             L[i][k]=false;
          }
        }
        L[1][3]=true;  /* Setze nur die richtigen auf true */
        L[2][2]=true;
        L[2][3]=true;
        ...

        Dann der Vergleich:

        Punkte=0;

        for (var i=1; i <= 10; i++) {
          for (var k=1; k <= 10; k++) {
             E[i][k]=(B[i][k]==L[i][k]);
             if (E[i][k]) {
               Punkte=Punkte+1;
             }
          }
        }

        [3] Zur Benotung:

        Vergib erstmal eine 6:

        Note=6;

        Und dann aufwärts. (Es geht auch andersrum...)

        if (Punkte > 11) { Note=5;}
        ...
        if (Punkte > 35) { Note=1;}

        So. Jetzt musst Du nur noch den Text zusammenstückeln:

        Ausgabe="";

        for (var i=1; i <= 10; i++) {
         Ausgabe=Ausgabe+"
        "+i+". Frage:"
        ... arbeite hier mit den Variablen L[i][1-4];B[i][1-4] und bau den Text zusammen.
        }

        ach ja:

        window.document.forms[0].elements["ausgabe"].value="Ausgabe";
        Benenne also auch die Textarea entsprechend...

        Viel Spaß!

        fastix®

        --
        Meinereinerselbst ist auf der Suche nach Aufträgen
        1. Okej das mit den Arrays ist wirklich besser hab ich auch gemacht den rest auch. Aber mein Problem ist immernoch nicht gelöst. Ich möchte die Auswertung auf einer anderen Seite haben das Programm muß also die ganzen Auswertungen mit übernehmen. Von daher steht die Auswertung auch nicht im selben Frame. Man muß die Ergebnisse doch irgendwie zwischenspeichern können und sie nachher wieder aufrufen können. Ich weiß das geschieht mit Arrays aber in dem Fall passiert da garnichts.

          Tut mir leid wenn ich nerve oder schwer von begriff sein sollte :o)
          tomy

          1. Moin!

            Ach so. Du willst umbauen.

            Ist es es ein frame:

            Variable=parent.frames("anderer").document.forms("f_name").elements("e_name").value

            http://selfhtml.teamone.de/javascript/objekte/frames.htm#allgemeines

            MFFG (Mit freundlich- friedfertigem Grinsen)

            fastix®

            --
            Meinereinerselbst ist auf der Suche nach Aufträgen