Bin gerade dabei ein Quiz aufzubauen. Dabei geht es darum aus einzelnen Quizteilen bestimmte Buchstaben abzuspeichern und an eine Lösungsseite weiterzugeben. Das Abspeichern der Cookies mit einem String hab ich geschafft :-)
Mein Problem ist es, den String wieder richtig in seine Einzelteile aufzusplitten und an bestimmte id-Adressen zu schicken. Ich hab mir schon was zusammengestoppelt, aber leider versuche ich mich an Javascript noch nicht lange genug, als dass ich auch wirklich wüsste, was ich da tue :-)
Zum Abspeichern des Cookies hab ich folgendes StandardScript übernommen:
function setzeCookie(name, wert) {
var arg_wert = setzeCookie.arguments;
var arg_laenge = setzeCookie.arguments.length;
var expires = (arg_laenge > 2) ? arg_wert[2] : null;
var path = (arg_laenge > 3) ? arg_wert[3] : null;
var domain = (arg_laenge > 4) ? arg_wert[4] : null;
var secure = (arg_laenge > 5) ? arg_wert[5] : false;
document.cookie = name + "=" + encodeURIComponent(wert) +
((expires == null) ? "" : ("; expires=" +
expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
Zum Abspeichern der eingegebenen Quizdaten im Cookie hab ich folgendes fabriziert (steht im <head> des Quizteils und funktioniert anscheinend auch):
<script type="text/javascript">
var bs= new Array( "q1", "q2", "q3" );
function setzeCookie1() {
var inhalt = new String();
for (i in bs) {
var wert = document.getElementById(bs[i]).value;
inhalt += bs[i] + "**" + wert + "##";
}
inhalt = inhalt.substring(0, inhalt.length-2);
setzeCookie("quiz01", inhalt);
}
</script>
String ist also so aufgebaut: nameDerVariablen "**" wertDerVariablen "##" (hier folgen weitere Datensätze). So weit so gut.
Ich möchte nun den String wieder zerlegen und die einzelnen Inhalte in Listenfeldern (in einer <form> gesammelt und jeweils mit id="buchstabe1" usw gekennzeichnet) wieder ausgeben. Hier krieg ich gar kein Resultat. Wahrscheinlich sind die Probleme und Fehler eh ganz klar, wenn man sich auskennt...
Mein Script im <head> des Lösungsteiles, wo der String zerlegt und die Inhalte ausgegeben werden sollen:
<script type="text/javascript">
function ausgabe() {
var cookie = holeCookie("quiz01");
var inhalt = cookie.split("##");
for (i in inhalt) {
inhalt[i] = inhalt[i].split("**");
}
for (i in inhalt) {
if (inhalt[i][0] = "q1" {
var ausg1 = inhalt[i][1]; }
if (inhalt[i][0] = "q2" {
var ausg2 = inhalt[i][1]; }
if (inhalt[i][0] = "q3" {
var ausg3 = inhalt[i][1]; }
}
}
</script>
Was funktioniert da nicht? Wie bringe ich die einzelnen Inhalte wirklich an den richtigen (id)-Empfänger? In meinem schlauen Buch steht dazu nix bzw. nur wenig und (für mich) zu ungenau. Kann man Variablen überhaupt in einem Formular bzw. in Listenfeldern ausgeben?
Was muß ich ändern? Sagt bitte nicht: Alles :-)
Help.
Grüße
Idefix