formularwerte speichern und später ausgeben

cyranotom

Grünschnabel
Hallo Forenuser,

neu im forum habe ich mich umgesehen, was es zu Formularen und Javascript gibt. Dies hilft mir noch nichtgenügend weiter.

Meine Aufgabe:

Ich erstelle einen Minitest, in dem auf 10 Seiten jeweils Klickboxen, Textfelder und Optionsboxen sowie Textareas vorhanden sein sollen.

Nun soll der benutzer auf jeder Seite eine Aussage bestätigen, eine Option anklicken und auch in Textareas eigenen Text eingeben können.

Nun soll Javascript alle Angaben/ Eingaben speichern/sammeln - also nach jedem Seitenwechsel die vorherigen Angaben speichern.

Zum Schluss werden alle Angaben auf einer Ausgabeseite zusammengefasst dargestellt, die auf den vorherigen Seiten angegebenen Werte sollen nun alle in Textfeldern ausgegeben werden, damit der Benutzer diese nun noch einmal zusammenfassend kontrollieren und eingeben kann.

Wer kann mir dazu Tipps oder Links zu weiterführenden Seiten geben?
SelfHTML etc habe ich schon angesehen, ich benötige aber mehr Details über den Aufbau oder auch einen Hinweis, ob das Vorhaben sich so realisieren lässt..

Die Daten müssen auch lokal im Browser funktionieren, die Applikation läuft von CD und muss ohne Serverseitiges Abarbeiten der Scripte funktionieren.

Danke für Licht im Dunkeln.
 
Ich würde da mit versteckten Formularfeldern arbeiten....
auf der Folgeseite immer die übergebenen Werte in hidden-inputs schreiben....

die werden dann ganz normal weitergesendet.
 
Ich würd das mit einem Frameset machen. Einfach ein Frameset mit 100%,* (also ist der Frame nicht sichtbar). In dem unsichtbaren erstellst du ein Formular mit mit den selben Elementen. Wenn du jetzt im Hauptframe eine Seite weiterschaltest übergibtst du die Ergebnisse via Skript in den unteren Frame. Wenn du das ganze Formular fertig hast, schickst du einfach das Formular im unteren Frame ab...
 
Original geschrieben von fatalus
Ich würde da mit versteckten Formularfeldern arbeiten....
auf der Folgeseite immer die übergebenen Werte in hidden-inputs schreiben....

die werden dann ganz normal weitergesendet.

da ich noch nicht sooo fit bin in Javascript, würde ich mich über eine kleine idee freuen...

ich habe bisher Beispiele gefunden, in denen nach Eingabe von Werten in ein Formular diese auf der nächsten Seite ausgegeben wurden. Mir ist noch nicht klar, wie ich die Angaben "sammel", also nicht ausgebe, sondern addiere oder speichere. Muss ich alle Werte in einzeln angelegte Variablen speichern oder kann ich auch alle Werte in eine Datei/ Variable laden? Oder eignet sich dazu ein Array?

Danke.
 
Wie bereits erwähnt... du kannst die gesendeten Formulardaten in versteckten Formularfeldern speichern.... sie werden dann an die Folgeseiten mit übermittelt, so dass du am Ende alle zur Verfügung hast.

Ein Skript, was das tun würde, könnte bspw. so aussehen:
Code:
<SCRIPT type="text/javascript">
<!--
HTTP_GET_VARS=new Array();
strGET=document.location.search.substr(1,document.location.search.length);
if(strGET!='')
    {
    gArr=strGET.split('&');
    for(i=0;i<gArr.length;++i)
        {
        v='';vArr=gArr[i].split('=');
        if(vArr.length>1){v=vArr[1];}
        HTTP_GET_VARS[vArr[0]]=v;
        }
    }
for(var key in HTTP_GET_VARS)
    {
    document.write('<input type="hidden"name="'+key+'"value="'+unescape(HTTP_GET_VARS[key].replace(/(%3C|%22|%3E|"|\+)/g,' '))+'">');
    }
...innerhalb des Formulars platziert, erstellt es dort unsichtbare "Kopien" der übermittelten Formularfelder, indem es die Namen und Werte der übermittelten Formularfelder aus der URL "extrahiert".

Ich hab mal nen Beispiel dazu hochgeladen....
wie das zum Schluss ausgegeben werden soll, hängt dabei natürlich von deinen Bedürfnissen ab und muss gegebenenfalls entsprechend modifiziert werden.(im Beispiel sind die Formularfelder nicht versteckt, damit man sieht, was übermittelt wird);)

Ein Problem könnte allerdings darin bestehen, dass die Daten per URL weitergeleitet werden...bei 10 Seiten mit viel zu übermittelnden Daten könnte es sein, dass die Datenmenge das Browserlimit für diese Übermittlungsmethode überschreitet... dann müsste man die vom Andreas angesprochene Variante mit Frames verwenden.
 
Hallo fatalus,

boha, das ist schon höhere Mathematik...

Bin beeindruckt, wenngleich ich es nur ansatzweise nachvollziehen kann.

Nicht vom Sinn, sondern vom Programmieren!
Alle Achtung.

funktioniert das Script nun mit php oder mit Javascript?

die Funktionen müssen ja im Browser von cd laufen.

woher kommen die Fragen? aus der Temp-Datei?

Ich habe Deine Beispielseite einmal in Dreamweaver geöffnet und entdecke dort die Fragen nicht.

das heisst, ich kann Dein Script auf jeder Seite einbauen und das Script sammelt auf jeder Seite die Angaben und wenn ich zum Schluß (z.B. nach 10 HTML-Seiten auf die 11. Seite komme, dann kannich alle Angaben dort abbilden/auslesen?

Gruss
cyrano

btw: programmierst Du auch im Auftrag?
 
Hallo Thomas,

genial, ja genau so soll es sein :)

Und zum Schluß noch alle Werte in editierbaren Textfelder anzeigen lassen.

Werde mal im Quelltext stöbern.

Danke für den Hinweis.

Sonnige Grüße
cyrano
 
Hallo...

die Fragen stehen doch in der Seite ...jeweils eine Pro Seite.

Die Sache läuft alleinig mit Javascript.... mit PHP werden nur die einzelnen Fragen erzeugt....ich war zu Faul,11 einzelne Seiten hochzuladen:)
das heisst, ich kann Dein Script auf jeder Seite einbauen und das Script sammelt auf jeder Seite die Angaben und wenn ich zum Schluß (z.B. nach 10 HTML-Seiten auf die 11. Seite komme, dann kannich alle Angaben dort abbilden/auslesen?

Genau so.... das Skript sammelt alle Daten, welche über die URL ankommen in versteckten Formularfeldern.... die werden dann beim nächsten Senden mit übertragen, so dass zum Schluss alle verfügbar sind(zwishendurch auch ;))
 
Hallo...

die Fragen stehen doch in der Seite ...jeweils eine Pro Seite.
jep ich habe nur die erste gesehen. die anderen kommen aus dem form action -Aufruf" temp/collect_vars.php", richtig?
da setzt ich dann für offline die href auf die nächste Seite ein..?
Und schreibe die nächste Frage dann wieder auf die Seite.

Die Sache läuft alleinig mit Javascript.... mit PHP werden nur die einzelnen Fragen erzeugt....ich war zu Faul,11 einzelne Seiten hochzuladen:)

Verstehe ich völlig :))

Genau so.... das Skript sammelt alle Daten, welche über die URL ankommen in versteckten Formularfeldern.... die werden dann beim nächsten Senden mit übertragen, so dass zum Schluss alle verfügbar sind(zwishendurch auch ;))

ok, dann setze ich die Felder auf der Ausgabeseite auf visible?

Danke.
 

Neue Beiträge

Zurück