Matthias: Warum funktioniert "window.location.href" nicht?

Hallo!
Da mein Post weiter unten wohl heut keine Beachtung mehr gefunden hat, probier ichs nochmal neu. Hier nun wie gestern versprochen mein Code. Ich poste einfach mal die ganze HTML-DAtei, da es eh nur ein Gerüst ist und HTML-Bereich nicht sehr umfangreich ist ;-) Hab die URL natürlich durch eine erreichbare ersetzt, da kommen natürlich später verschiedene Seiten hin.

Gruß,
Matthias

<HTML>
<head>
<script type="text/javascript">
<!--
var Zaehler = 0
function richtigeAntwort()
{
if(document.TestForm.test1[0].checked == true)
 {
 alert("richtig");
 Zaehler = Zaehler + 1;
 }
if(document.TestForm.test1[1].checked == false && document.TestForm.test1[0].checked == false)
 {
 alert("Bitte eine Antwort ankreuzen.");
 return false;
 }

if(document.TestForm.test2[0].checked == true)
 {
 alert("richtig");
 Zaehler = Zaehler + 1;
 }
if(document.TestForm.test2[1].checked == false && document.TestForm.test2[0].checked == false)
 {
 alert("Bitte eine Antwort ankreuzen.");
 return false;
 }

if(document.TestForm.test3[0].checked == true)
 {
 alert("richtig");
 Zaehler = Zaehler + 1;
 }
if(document.TestForm.test3[1].checked == false && document.TestForm.test3[0].checked == false)
 {
 alert("Bitte eine Antwort ankreuzen.");
 return false;
 }

if(Zaehler == 0)
 {
 window.location.href = "http://www.chip.de/";
 }
else if(Zaehler == 1)
 {
 window.location.href = "http://www.chip.de/";
 }
else if(Zaehler == 2)
 {
 window.location.href = "http://www.chip.de/";
 }
else if(Zaehler == 3)
 {
 window.location.href = "http://www.chip.de/";
 }
}
//-->
</script>
</head>

<body>
<form name="TestForm" method="post" onSubmit="richtigeAntwort()">
<p>Frage1</p>
<input type="radio" name="test1" value="A1"> Antwort1.1<br>
<input type="radio" name="test1" value="A2"> Antwort1.2<br>
<br>
<p>Frage2</p>
<input type="radio" name="test2" value="A1"> Antwort2.1<br>
<input type="radio" name="test2" value="A2"> Antwort2.2<br>
<br>
<p>Frage3</p>
<input type="radio" name="test3" value="A1"> Antwort3.1<br>
<input type="radio" name="test3" value="A2"> Antwort3.2<br>
<br>
<input type="submit" name="pruefen" value="OK">
</form>
</body>
</HTML>

  1. moin

    so gehts !!

    <body>

    <form name="TestForm" action="">

    <p>Frage1</p>
    <input type="radio" name="test1" value="A1"> Antwort1.1<br>
    <input type="radio" name="test1" value="A2"> Antwort1.2<br>
    <br>
    <p>Frage2</p>
    <input type="radio" name="test2" value="A1"> Antwort2.1<br>
    <input type="radio" name="test2" value="A2"> Antwort2.2<br>
    <br>
    <p>Frage3</p>
    <input type="radio" name="test3" value="A1"> Antwort3.1<br>
    <input type="radio" name="test3" value="A2"> Antwort3.2<br>
    <br>

    <input type="submit" name="pruefen" value="OK" onClick="richtigeAntwort();">

    </form>
    </body>

    window Object verändert sich bei post....

    Viel Spassss noch....

    cu

    1. Danke für Deine Bemühungen, aber bei mir gehts so immer noch nicht :-(

      1. ups ! sorry was vergessen.

        <input type="button" name="pruefen" value="OK" onClick="richtigeAntwort()">

        so muss die Zeile natürlich aussehen. !! button !!

        sorry

        1. OK, so gehts auch :-) Muss aber zugeben, hatte mir das auch nicht genauer durchgelesen, nur per copy&paste eingefügt, da ich mich auch gerade net mehr konzentrieren kann.... Mach jetzt auch Schluss für heute....

          Gruß,
          Matthias

  2. Hi,

    <form name="TestForm" method="post" onSubmit="richtigeAntwort()">

    Ich denke, hier hakt's. Du hast gar keine 'action' angegeben, deshalb schickt die Seite das Formular an die eigene Adresse, und offenbar schneller, als dein location.href gucken kann.
    Durch onSubmit="richtigeAntwort();return false" könntest du das aber verhindern.

    Grüße, Stefan

    1. JUCHHU! Jetzt funktionierts! Vielen dank. Hab zwar das prob nicht richtig verstanden aber egal :-) Das Formular sollte sich doch eigetnlich erst verschicken, wenn der Javascriptcode komplett ausgeführt wurde oder?

      1. JUCHHU! Jetzt funktionierts! Vielen dank. Hab zwar das prob nicht richtig verstanden aber egal :-) Das Formular sollte sich doch eigetnlich erst verschicken, wenn der Javascriptcode komplett ausgeführt wurde oder?

        Stimmt, das location.href ist aber schon mit dem Aufruf der Seite erledigt, und dann geht's weiter im Text, d.h. das Formular wird abgeschickt und überschreibt den Aufruf gleich wieder.

        Stefan