• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Javascript - Radio-Buttons

Status
Für weitere Antworten geschlossen.

Basti93

Blogger
Guten Tag.

Bevor ich anfange, mein Problem zu beschreiben, hier erst einmal der gegebene Code:

Code:
<html>
<head>
<title>Test</title>
</head>
<body>
<!-- Stichwortsuche - Start -->
<p><script language="JavaScript" src="stichwort.js" type="text/javascript"></script>
<input type="text" value="" id="dwid" size="35" maxlenght="10"/>
<input type="submit" value="Los!" onclick="stichwort()"/><br>
O1: <input type="radio" name="o" value="o1" checked="checked">
O2: <input type="radio" name="o" value="o2">
O3: <input type="radio" name="o" value="o3" >
</p>
<!-- Stichwortsuche - Ende -->
</body>
</html>
Und:
Code:
<!--
var ids = Array("test1", "test2");

function stichwort()  {
eingabe = document.getElementById("dwid").value;
    for (i=0;i < ids.length;i++) {
            if (eingabe == ids[i]) {location.href = "st-"+ids[i]+".html";
                return; }
    }
        location.href = "unstichwort.html";
}
//-->
Wie ihr seht wird, wenn man auf den Button "Los!" klickt, die Datei st-EINGABE.html geladen. Ich möchte das so haben, dass - je nach dem welcher Radio-Button ausgewählt ist - ein anderer Teil vor die EINGABE gesetzt wird. Also wenn man z.B. den Radio-Button o2 ausgewählt hat:
te-EINGABE.html

Falls es noch nicht ganz klar ist:

Wenn man momentan etwas in das Textfeld eingibt und dann auf Los! klickt, wird die Seite st-EINGABE.html geladen. Ich möchte nun, dass man mit Hilfe der Radio-Buttons auswählen kann, was vor der Eingabe steht.

Also statt st- zum Beispiel o2: te-EINGABE.html

Könnt ihr mir dabei weiterhelfen?

Danke schon mal im voraus!
 
Werbung:
Man kann sich prima Strukturen für solche Aufgaben aufbauen:
Code:
var locations = {
   o1 : "foo.html",
   o2 : "bar.html",
   o3 : "blubb.html"
   // usw:
};

var radios = document.getElementsByName("o");
for (var i = 0, radio; radio = radios[i]; i++) {
    if (radio.checked) {
        location = locations[radio.value]; // ggf. Überprüfung ob es den "Key" gibt
        break;
    }
}
 
Kleine Bitte:

Könnte jemand dieses Sytem in meinen Code einbauen (siehe oben),
damit ich das mal ausprobieren kann?

Danke schon mal im voraus!
 
Werbung:
Und was ist mit selber denken? Viel musste da nicht mehr herumgebaut werden:
Code:
addEvent(window, "load", function () {
    var locations = {
       o1 : "foo.html",
       o2 : "bar.html",
       o3 : "blubb.html"
       // usw:
    };
    var eingabe = document.getElementById("dwid");
    var radios = document.getElementsByName("o");
    var submit = document.getElementById("submit");

    addEvent(submit, "click", function (evt) {
        for (var i = 0, radio; radio = radios[i]; i++) {
            if (radio.checked && eingabe.value == radio.value && typeof locations[radio.value] != "undefined") {
                location = locations[radio.value];
                break;
            }
        }
        evt.preventDefault();
    });
});
Unter Verwendung von addEvent()
 
OK, dann stelle ich mal die Frage anders:

Wie kann ich in den nachfolgendem Code ungefähr so etwas setzen:

Das was vor die Eingabe gesetzt wird ist die Variable te.
Je nachdem welcher Radio-Button ausgewählt ist, ist die Variable anders.
Also vielleicht etwas mit if, else?

Code:
<html>
<head>
<title>Test</title>
<script>
<!--
var ids = Array("test", "test2");

function stichwort()  {
eingabe = document.getElementById("dwid").value;
    for (i=0;i < ids.length;i++) {
            if (eingabe == ids[i]) {location.href = ids[i]+".html";
                return; }
    }
        location.href = "unstichwort.html";
}
//-->
</script>
</head>
<body>
<!-- Stichwortsuche - Start -->
<p><script language="JavaScript" src="stichwort.js" type="text/javascript"></script>
<input type="text" value="" id="dwid" size="35" maxlenght="10"/>
<input type="submit" value="Los!" onclick="stichwort()"/><br>
O1: <input type="radio" name="o" value="o1" checked="checked">
O2: <input type="radio" name="o" value="o2">
O3: <input type="radio" name="o" value="o3" >
</p>
<!-- Stichwortsuche - Ende -->
</body>
</html>
Also, wie muss ich die entsprechende Variable schreiben und was muss sich bei dem if-Teil beachten, damit das Ergebnis im Zusammenhang mit den Radio-Buttons steht?
 
Über deinem Post steht ein kompletter Code, der zwar ungetestet ist, aber genau das macht was du willst. Du musst ihn nur verstehen.
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben