|
|||||||
| Für Webmaster Alles was mit dem Erstellen zu tun hat, HTML, XML, PHP, Webspace |
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|||
|
Hallo,
ich sitze gerade an einem JS. Und zwar soll ich ein Quiz erstellen. Fragen etc. habe ich schon. Jedoch möchte ich dass sich die Fragen auf mehreren Seiten erstreckt damit sich nicht alles auf einer Seite befindet und man bis ins Nirvana scrollen kannn. ![]() Meine Frage ist nun, wie kann ich z.B. die Variable " Punkte " mit dem ermittelten Wert " 5 " an eine weiteren Script, der sich auf einer neuen HTML Seite befindet, weiterleiten? Ich möchte ein Punktesystem einbauen, dass wenn man alle Fragen abgearbeitet sind, der Auswetungsscript geöffnet wird und sämtliche Punkte addiert werden. Wenn sich alles auf einer Seite befindet ist das ja einfach. Aber wie kann ich, wie schon oben gefragt, die Werte weitergeben oder weiterleiten??? Mit freundlichen Grüßen Sauger ![]() |
| Sponsored Links |
|
||||
|
Du kannst ja wenn du ein Forumlar hast die Werte per GET oder POST weiterleiten. Ich weiß nur nicht wie du diese Werte dann mit JS auf der nächsten Seite auslesen kannst. Also POST dürfte nicht gehen, da POST ja auf dem Server ausgeführt wird und z.B. mit PHP abgefangen werden kann. (So würde ich es übrigens machen, aber wenn du es mit JS machen musst, dann musst du dich wohl mit GET zufrieden geben.) Aber JS ist ja eine Sprache, die auf deinem Rechner ausgeführt wird und nicht auf einem Server. In der SelfHTML hab ich auf die schnelle nichts gefunden. Werde erstmal ein bisschen googeln.
Mfg KoЯn
__________________
...And Justice for All ->'tallica kickz ass! ->Mein Rechenschieber ->Skype me! |
|
|||
|
Halllo und Danke schonmal, Quidoff!
Also ich hab ja schonmal bei "js-welt" nachgefragt und dort meinten die auch, dass man das irgendwie mit "get" machen kann oder sollte. Jedcoh hab ich noch keine weitere Antwort bekommen. Deswegen wende ich mich auch noch an Euch, da ich weis, dass man hier zu jeder Zeit ne Antwort bekommt! :thumpsup:Die meinten dort, dass man die Werte irgendwie an den Verweislink hängen soll... naja... keine Ahnung. Ich hab es erst mit Cookies versucht, aber da hatte ich keien großen erfolg. Wie du auch schon bemerkt hast, hat SelfHtml nichts brauchbares ausgespuckt ![]() Mit freunlichen Grüßen Sauger @ Whiteletter: So meinten die das bei JS -welt auch... aber wie mach ich das und wie les ich die aus? Das ist mein problem! |
|
||||
|
Also du könntest die Werte an PHP per GET übergeben. Das mit dem an die URL anhängen funktioniert so.
Ich mach es mal am Beispiel PHP. document.writeln("index.php?id="+ID+"&page="+PAGE" ); ID und PAGE sind in dem Fall JS Variablen. Oder wenn du ein Formular hast, dann ganz einfach mit. <form action="index.php" method="GET" (oder Post)> <input name="id" type="hidden" value="1" /> <input name="id" type="text" value="" /> </form> An dieser Stelle stehen dann natürlich deine Variablen. //edit Tip Jetzt musst du aus diesem String nur alle Variablen herausfinden. Das Trennzeichen zwischen einem Wert und der nächsten Variablen ist & und das zwischen einer Variablen und ihrem Wert ist = Du musst auch daran denken, dass am Anfang vom String auch noch das ? steht. Das brauchst du auch nicht. //edit2 Die Lösung? Mfg KoЯn
__________________
...And Justice for All ->'tallica kickz ass! ->Mein Rechenschieber ->Skype me! Geändert von Quidoff (26.05.2005 um 18:03 Uhr). |
|
|||
|
Das werd ich gleich mal ausprobieren! Und die "Lösung?" ist genau das, was ich gesucht habe
![]() Jetzt hab ich abe rnoch ne andere Frage und ich find irgendwie keine passende Erklärung. Und zwar wie kann ich jetzt mit JS eine neue Seite bzw. ein bereits vorhandene HTML Datei öffnen? Und wo öffnet ma die? Im Script oder im onClick="" Bereich!? Mit freundlichen Grüßen Sauger |
|
||||
|
Also du hast auf einer Seite ein Formular mit deiner Frage. Und in den action Tag von form schreibst du das Ziel, wohin die Variablen hin übergeben werden sollen. Die Namen der Elemente innerhalb des Formulars sind gleichzeitig die Namen der Variablen, die mit GET übergeben werden. Bsp:
HTML-Code:
<form action="seite2.html" method="GET"> <input type="text" name="textfeld1" /> <input type="antwort" name="antwort" /> <input type="submit" value=" Absenden "> </form> Mfg KoЯn
__________________
...And Justice for All ->'tallica kickz ass! ->Mein Rechenschieber ->Skype me! |
|
|||
|
OK! Soweit bin ich nun. Wie kann ich nun die Werte auslesen? Oder sind die Variablen noch die selben?!
Noch was anderes... es werden ja jetzt nur die Antworten übertragen. Aber wie mach ich das wenn ich nur die ausgerechneten Punkte für diese eine Seite übertragen will? Da muss ich doch dann den errechneten Wert in ein Input-text feld eintragen lassen oder!? Wenn ja wie mach ich des? Wie könnte ich denn die Werte aus der ersten Seite auf die übernächste Seite übertragen? Also dass die Werte erst von Seite 1 auf Seite 2 und danach zusmamen mit neuen Werten auf Seite 3 übertragen werden? Ich bin dir jeden Post mehr dankbar ! ![]() Noch mal was anderes: Die Werte, id eübergeben werden, werden an die Seite übergeben, die man im Action-Taa angegeben hat, oder? Geändert von DSL-Sauger (26.05.2005 um 21:16 Uhr). |
|
||||
|
Zitat:
Du müsstest auf der aktuellen Seite berechnen lassen, ob die Antwort richtig ist. Und wenn die richtig ist, dann muss zur Variablen Punkte eins addiert werden. Ist bei JS natürlich dumm, weil man sich nur den Quelltext anschauen muss, um zu wissen was die richtige Antwort ist. Du machst dann in dein Forumular folgendes: document.writeln('<input type="hidden" value="'+GetParam(punke)+'" name="punkte" /> //edit Probier das mal. Speichere es als test.html und rufe es erst ganz normal auf und drücke auf den Button. Dann ruf es auf mit "test.html?punkte=1337" und drücke dann auf den Button. HTML-Code:
<html> <head> <title>Für DSL-Sauger</title> <SCRIPT type="text/Javascript"> <!-- function GetParam(name) { var start=location.search.indexOf("?"+name+"="); if (start<0) start=location.search.indexOf("&"+name+"="); if (start<0) return 0; start += name.length+2; var end=location.search.indexOf("&",start)-1; if (end<0) end=location.search.length; var result=location.search.substring(start,end); var result=''; for(var i=start;i<=end;i++) { var c=location.search.charAt(i); result=result+(c=='+'?' ':c); } return unescape(result); } //--> </SCRIPT> </head> <body> <form name="form1" action="test.html" method ="GET"> <SCRIPT type="text/Javascript">document.write("<input name=\"punkte\" type=\"hidden\" value=\""+GetParam('punkte')+"\" />");</SCRIPT> <input value="Wie viele Punkte?" type="button" onClick="alert(document.form1.punkte.value);"> </form> </body> </html> Mfg KoЯn
__________________
...And Justice for All ->'tallica kickz ass! ->Mein Rechenschieber ->Skype me! Geändert von Quidoff (26.05.2005 um 21:49 Uhr). |
|
|||
|
Irgendwie ghet das nicht ganz... Schau dir doch bitte mal den Quelltext an!
Zitat:
Tuts aber nicht! |
|
||||
|
Die "Seite2.html" Datei hab ich jetzt zwar nicht, aber Firefox zeigt mir diese Fehlermeldung.
![]() Daraus schließe ich, dass es funktioniert. Ich habe an deinem Code lediglich 2 Dinge geändert.
Und jetzt der Trick, wie ich die Fehler ganz einfach gefunden habe, ohne mir deinen Code überhaupt anzukucken. HTML Validator. Eine Erweiterung für den Firefox. Er zeigt dir alle Fehler im Code an. Zeigt dir die Stelle, wo der Fehler ist und verrät dir sogar was falsch ist und wie du es richtig machst. Mfg KoЯn
__________________
...And Justice for All ->'tallica kickz ass! ->Mein Rechenschieber ->Skype me! |
|
|||
|
Ja ber für die Variable "Gesamt" wurde der Wert nicht dahinter gesetzt wie bei den anderen!
Und wenn du dir links unten neber dem Button mal die Stelle anschaust, siehste du, dass dort " document.writein(''); " steht... das ist doch nicht korrekt oder!? Danke für das PlugIn, gleich mal ausprobieren! |
|
||||
|
Die Funktion punkte_zaehlen() erwartet keine Parameter. Warum übergibst du dann "Gesamt" als Parameter an die Funktion? In der letzten Zeile hast du nur die script Tags vergessen.
Zitat:
Zitat:
document.Quiz1.Gesamt.value = Gesamt; speicherst du den Wert im Formular ab. Dann wird er auch gesendet. Mfg KoЯn
__________________
...And Justice for All ->'tallica kickz ass! ->Mein Rechenschieber ->Skype me! |
|
||||
|
Na hiermit.
Zum Beispiel rufst du die Funktion mit GetParam("Gesamt") auf, um die Punktzahl zu erhalten. Weil die Funktion einen Rückgabewert hat, solltest du ihn in einer Variablen speichern. Du solltest die Zeile "if (start<0) return '';" durch "if (start<0) return 0;" ersetzen, damit wenn kein Wert übergeben wird die Punktzahl 0 ist. Mfg KoЯn
__________________
...And Justice for All ->'tallica kickz ass! ->Mein Rechenschieber ->Skype me! |
| Sponsored Links |
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| Ansicht | |
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 Uhr.




:thumpsup:

Linear-Darstellung
