JavaScript ganz einfache Form Abfrage die neues Fenster öffnen soll

TheGreatMM

Captain
Registriert
Mai 2008
Beiträge
3.100
Hallo nochmal,

ich möchte eine Formular Seite schreiben, die je nach Auswahl eine andere Webseite öffnet.

habs hier auch mal hochgeladen damit man es sieht

www.mmehr.de/6.html

wie erwartet tut es nicht :( kann mich jmd. auf die richtige Spur fragen?

auch kann ich kann alle Felder markieren? es darf maximal nur ein Feld markiert werden


Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
</head>

 
<script type="text/javascript">

var x = document.getElementById( 'test' ).value;

function getForm() {
    if (document.Antrag.variable0.checked == true {
        window.location.href = "1.html";
    } else if (document.Antrag.variable1.checked == true  {
        window.location.href = "2.html";     
    } else if (document.Antrag.variable1.checked == true  {
        window.location.href = "3.html";       
    } else if (document.Antrag.variable1.checked == true  {
        window.location.href = "4.html";      
    } else if (document.Antrag.variable1.checked == true  {
        window.location.href = "5.html";       
    } else if (document.Antrag.variable1.checked == true  {
        window.location.href = "6.html";         
     } else {
        alert("Bitte treffen deine Auswahl.");
    }
}
</script>
</head>
 
<body>

<h2>wähle das entsprechende Formular aus:</h2>


<form name="Antrag" action="" method="get">
<input type="radio" name="variable0" value="var1"> var1 <br>
<input type="radio" name="variable1" value="var2"> var2 <br>
<input type="radio" name="variable2" value="var3"> var3 <br>
<input type="radio" name="variable3" value="var4"> var4 <br>
<input type="radio" name="variable4" value="var5"> var5 <br>
<input type="radio" name="variable5" value="var6"> var6 <br>

<br><br>
<input type="button" id="test" value="Formular aufrufen" onClick="getForm()" >  
</form>
</TD>
</TR>
</TABLE>
 
</body>
</html>
 
Die Webconsole sagt folgendes:

[21:51:36.816] GET http://www.mmehr.de/6.html [HTTP/1.1 304 Not Modified 166ms]
[21:51:37.016] missing ) after condition @ http://www.mmehr.de/6.html:14
[21:51:40.334] kav_vkList.this is undefined @ chrome://ffvkbd/content/ikavvklistener.js:89
[21:51:40.436] getForm is not defined @ http://www.mmehr.de/6.html:1
[21:51:41.784] kav_vkList.this is undefined @ chrome://ffvkbd/content/ikavvklistener.js:89

bin kein Profi, aber vll. hilft dir das weiter?
Und muss man die function nicht noch mit window.onload oder nem eventlistener laden?
 
fz21z schrieb:
Und muss man die function nicht noch mit window.onload oder nem eventlistener laden?

Nein muss man nicht. Wenn sie als onload calback definiert würde, würde sie NACH dem vollständigen ladens des dokuments ausgeführt.
Btw.: HTML-code und JavaScript-code zu mischen ist nicht unbedingt guter Stil. Such mal nach "unobstrusive javascript".
 
Code:
if (document.Antrag.variable0.checked == true {

da fehlt eine schließende klammer nach dem true
genau wie bei allen if-abfragen danach.

damit du nur eins von den elementen auswählen kannst müssen sie den gleichen namen haben.
also statt variable0, variable1 usw. alles z.B. auf variable ändern.

wie du dann am sinnvollsten abfragst welches selektiert wurde weiß ich grad auch nicht.
 
ja schon klar aber es erstmal vollständig zu haben, lasse ich es erstmal so...

ok danke da habe ich schon das erste trivia...

geändert auf
Code:
<script type="text/javascript">

var x = document.getElementById( 'test' ).value;

function getForm() {
    if (document.Antrag.variable.checked == true) {
        window.location.href = "1.html";
    } else if (document.Antrag.variable.checked == true)  {
        window.location.href = "2.html";     
    } else if (document.Antrag.variable.checked == true)  {
        window.location.href = "3.html";       
    } else if (document.Antrag.variable.checked == true)  {
        window.location.href = "4.html";      
    } else if (document.Antrag.variable.checked == true)  {
        window.location.href = "5.html";       
    } else if (document.Antrag.variable.checked == true)  {
        window.location.href = "6.html";         
     } else {
        alert("Bitte treffen deine Auswahl.");
    }
}
</script>
</head>
 
<body>

<h2>wähle das entsprechende Formular aus:</h2>


<form name="Antrag" action="" method="get">
<input type="radio" name="variable" value="1"> var1 <br>
<input type="radio" name="variable" value="2"> var2 <br>
<input type="radio" name="variable" value="3"> var3 <br>
<input type="radio" name="variable" value="4"> var4 <br>
<input type="radio" name="variable" value="5"> var5 <br>
<input type="radio" name="variable" value="6"> var6 <br>

<br><br>
<input type="button" id="test" value="Formular aufrufen" onClick="getForm()" >  
</form>
</TD>
</TR>
</TABLE>

tats nicht
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
</head>

 
<script type="text/javascript">

var x = document.getElementById( 'test' ).value;

function getForm() {
    if (document.Antrag.variable0.checked == true) {
        window.location.href = "1.html";
    } else if (document.Antrag.variable1.checked == true)  {
        window.location.href = "2.html";     
    } else if (document.Antrag.variable2.checked == true)  {
        window.location.href = "3.html";       
    } else if (document.Antrag.variable3.checked == true)  {
        window.location.href = "4.html";      
    } else if (document.Antrag.variable4.checked == true)  {
        window.location.href = "5.html";       
    } else if (document.Antrag.variable5.checked == true)  {
        window.location.href = "6.html";         
     } else {
        alert("Bitte treffen deine Auswahl.");
    }
}
</script>
</head>
 
<body>

<h2>wähle das entsprechende Formular aus:</h2>


<form name="Antrag" action="" method="get">
<input type="radio" name="variable0" value="var1"> var1 <br>
<input type="radio" name="variable1" value="var2"> var2 <br>
<input type="radio" name="variable2" value="var3"> var3 <br>
<input type="radio" name="variable3" value="var4"> var4 <br>
<input type="radio" name="variable4" value="var5"> var5 <br>
<input type="radio" name="variable5" value="var6"> var6 <br>

<br><br>
<input type="button" id="test" value="Formular aufrufen" onClick="getForm()" >  
</form>
</TD>
</TR>
</TABLE>
 

</body>
</html>
das ursprüngliche, mit der Klammer geändert, ist denke ich schon näher am Ziel :)
 
Zuletzt bearbeitet:
so müsste es gehen:

Code:
<script type="text/javascript">

//var x = document.getElementById( 'test' ).value;

function getForm(radios) {

	var checkedValue;
	for (var i=0; i<radios.length; i++)  {
		if (radios[i].checked) {
			checkedValue = radios[i].value;
		}
	}
    if (checkedValue == "var1") {
        window.location.href = "1.html";
    } else if (checkedValue == "var2")  {
        window.location.href = "2.html";     
    } else if (checkedValue == "var3")  {
        window.location.href = "3.html";       
    } else if (checkedValue == "var4")  {
        window.location.href = "4.html";      
    } else if (checkedValue == "var5")  {
        window.location.href = "5.html";       
    } else if (checkedValue == "var6")  {
        window.location.href = "6.html";         
     } else {
        alert("Bitte treffen deine Auswahl.");
    }
}
</script>

HTML:
<form name="Antrag" action="" method="get">
<input type="radio" name="antragsauswahl" value="var1"> var1 <br>
<input type="radio" name="antragsauswahl" value="var2"> var2 <br>
<input type="radio" name="antragsauswahl" value="var3"> var3 <br>
<input type="radio" name="antragsauswahl" value="var4"> var4 <br>
<input type="radio" name="antragsauswahl" value="var5"> var5 <br>
<input type="radio" name="antragsauswahl" value="var6"> var6 <br>

<br><br>
<input type="button" id="test" value="Formular aufrufen" onclick="getForm(document.Antrag.antragsauswahl)">  
</form>
 

Ähnliche Themen

Zurück
Oben