Links dynamisch (aufgrund Radio Button) änder
Martina
- javascript
Hallo,
ich versuche schon länger eine Möglichkeit zu finden, wie ich aufgrund des Setzens eines Radio Buttons einen nachfolgenden Link verändern kann.
Könnt ihr mir helfen?
Danke und lg
Martina
Hallo nochmals,
wenn möglich per Javascript.
LG Martina
Hallo,
mit createTextNode etc. sollte das kein Problem sein.
MfG. Christoph
Hi,
ich versuche schon länger eine Möglichkeit zu finden, wie ich aufgrund des Setzens eines Radio Buttons einen nachfolgenden Link verändern kann.
dafür musst Du die Url per Javascript aufrufen, sofern Du nicht die Möglichkeit einer serverseitigen Weiterleitung hast. Die Nachteile kennst Du... keine Nutzbarkeit ohne js, Suchmaschienen, etc?
Anyway, der einfachste Weg ist, dem radio ein onclick-handler zu geben, und per onclick self.location.href wie gewünscht zu verändern:
<input onclick="self.location.href='meine_neue_url'" type="radio">
Gruesse, Joachim
Hi,
Nachtrag:
falls Du bei einem existierenden Link die Url ändern möchtest gehst Du so vor:
function toggle_link(id) {
var mylink = document.getElementById(id);
mylink.href = "meine_neue_url";
}
<a id="mylink" href="meine_alte_url">link</a>
... onclick="toggle_link('mylink')" ...
Gruesse, Joachim
Nachtrag:
falls Du bei einem existierenden Link die Url ändern möchtest gehst Du so vor:
function toggle_link(id) {
var mylink = document.getElementById(id);
mylink.href = "meine_neue_url";
}<a id="mylink" href="meine_alte_url">link</a>
... onclick="toggle_link('mylink')" ...Gruesse, Joachim
Entweder deine funktion ist falsch beschriftet, und sollte heissen "unwiederbringlich umgeschriebene url", oder dein Code ist inadäquat.
mfg Beat
Hi,
Entweder deine funktion ist falsch beschriftet, und sollte heissen "unwiederbringlich umgeschriebene url", oder dein Code ist inadäquat.
ja, dicherisch bin ich deutlich weniger begabt als Du, deshalb lege ich die Umtaufe der Funktion vertrauensvoll in Deine Hände. Aber denk dran: Leerzeichen sind nicht erlaubt ;-)
Gruesse, Joachim
Hi,
Nachtrag:
falls Du bei einem existierenden Link die Url ändern möchtest gehst Du so vor:
function toggle_link(id) {
var mylink = document.getElementById(id);
mylink.href = "meine_neue_url";
}<a id="mylink" href="meine_alte_url">link</a>
... onclick="toggle_link('mylink')" ...Gruesse, Joachim
Hallo Joachim,
danke für deine Hilfe, aber der Link bleibt trotzdem auf dem alten Link stehen.
Ich möchte dir mein Problem genauer beschreiben, irgendwie bin ich mit meinem Latein am Ende.
Also ich habe 3 Radio Buttons und 1 bis n Links je nachdem welcher Radiobutton ausgewählt wird, müssen sich alle Links dazu ändern.
ZB
Radiobutton A
Radiobutton B
Radiobutton C
Link 1, Link 2, ...
LG Martina
danke für deine Hilfe, aber der Link bleibt trotzdem auf dem alten Link stehen.
Ich möchte dir mein Problem genauer beschreiben, irgendwie bin ich mit meinem Latein am Ende.Also ich habe 3 Radio Buttons und 1 bis n Links je nachdem welcher Radiobutton ausgewählt wird, müssen sich alle Links dazu ändern.
ZB
Radiobutton A
Radiobutton B
Radiobutton CLink 1, Link 2, ...
LG Martina
Und welche Funktion soll mit welchem/n Link/s irgendwie verbunden sein?
beschreibe deine gewünschte Userinteraktion adäquat.
Oder meinst du nicht "Link" sondern "Url"
mfg Beat
danke für deine Hilfe, aber der Link bleibt trotzdem auf dem alten Link stehen.
Ich möchte dir mein Problem genauer beschreiben, irgendwie bin ich mit meinem Latein am Ende.Also ich habe 3 Radio Buttons und 1 bis n Links je nachdem welcher Radiobutton ausgewählt wird, müssen sich alle Links dazu ändern.
ZB
Radiobutton A
Radiobutton B
Radiobutton CLink 1, Link 2, ...
LG Martina
Und welche Funktion soll mit welchem/n Link/s irgendwie verbunden sein?
beschreibe deine gewünschte Userinteraktion adäquat.Oder meinst du nicht "Link" sondern "Url"
mfg Beat
Hallo Beat,
also ich mache ein Beispiel:
Radiobutton "Schauspieler"
Radiobutton "Beschreibung"
Radiobutton "Bilder"
Link zum Film 1, Link zum Film 2, Link zum Film3
Wenn ich zuerst Schauspieler auswähle und danach auf Film 2 möchte ich die Schauspieler des Film 2 anzeigen. Also je nachdem welche Auswahl ich bei den Radiobuttons treffe, sollen sich die URLS von dem Filmen auf die URLs der Schauspieler des jeweiligen Films ändern.
LG Martina
also ich mache ein Beispiel:
Radiobutton "Schauspieler"
Radiobutton "Beschreibung"
Radiobutton "Bilder"Link zum Film 1, Link zum Film 2, Link zum Film3
Wenn ich zuerst Schauspieler auswähle und danach auf Film 2 möchte ich die Schauspieler des Film 2 anzeigen. Also je nachdem welche Auswahl ich bei den Radiobuttons treffe, sollen sich die URLS von dem Filmen auf die URLs der Schauspieler des jeweiligen Films ändern.
Jetzt hast du aber noch etwas ausgelassen:
Wie sieht technisch eine Url bei dir aus?
Sieht sie so aus? http://example.com/?film=1&klasse=beschreibung
?
Sprich, geht es darum nur einen Teil der Url (einen Query-part ) zu ersetzen?
Wenn das der Fall ist? (und es ist hässlich mit JS das zum machen. Ein normales Formular wäre angesagt), dann musst du eher auf jeden Link ein onclick handler setzen, dessen aufgerufene Funktion Aufgabe es sei, zu ermitteln, welche Klasse in den radio-buttons selected ist, und diese dann an den Querystring zu basteln.
mfg Beat
also ich mache ein Beispiel:
Radiobutton "Schauspieler"
Radiobutton "Beschreibung"
Radiobutton "Bilder"Link zum Film 1, Link zum Film 2, Link zum Film3
Wenn ich zuerst Schauspieler auswähle und danach auf Film 2 möchte ich die Schauspieler des Film 2 anzeigen. Also je nachdem welche Auswahl ich bei den Radiobuttons treffe, sollen sich die URLS von dem Filmen auf die URLs der Schauspieler des jeweiligen Films ändern.
Jetzt hast du aber noch etwas ausgelassen:
Wie sieht technisch eine Url bei dir aus?Sieht sie so aus? http://example.com/?film=1&klasse=beschreibung
?
Sprich, geht es darum nur einen Teil der Url (einen Query-part ) zu ersetzen?Wenn das der Fall ist? (und es ist hässlich mit JS das zum machen. Ein normales Formular wäre angesagt), dann musst du eher auf jeden Link ein onclick handler setzen, dessen aufgerufene Funktion Aufgabe es sei, zu ermitteln, welche Klasse in den radio-buttons selected ist, und diese dann an den Querystring zu basteln.
mfg Beat
Hallo Beat,
Ja, ich weiß das es nicht schön ist. Aber anders geht's nicht. Wie meinst du das? Ich muss also bei jedem <a href=".." > ein onclick="ermittleURL()" dazumachen. Dazu hätte ich noch eine Frage, ich möchte ja, daß diese ermittelte Url sofort ausgeführt wird. wie geht denn das? Ich habe schon mehrere Variante probiert, aber komme auf keinen grünen zweig.
lg martina
Ja, ich weiß das es nicht schön ist. Aber anders geht's nicht.
Anders willst du nicht...
Wie meinst du das? Ich muss also bei jedem <a href=".." > ein onclick="ermittleURL()" dazumachen.
Das wäre jetzt derr falsche Funktionsname.
Die Funktion müsste lauten:
completeQueryStringAndDoRequest().
Dazu hätte ich noch eine Frage, ich möchte ja, daß diese ermittelte Url sofort ausgeführt wird. wie geht denn das? Ich habe schon mehrere Variante probiert, aber komme auf keinen grünen zweig.
Bitte zitiere nur, was du brauchst.
Was hast du bezüglich location() bisher versucht?
Kannst du meine Frage bezüglich der Form deiner Urls bitte noch beantworten?
mfg Beat
Ja, ich weiß das es nicht schön ist. Aber anders geht's nicht.
Anders willst du nicht...
Wollen schon, aber können nicht. Meine Seite kommt in einem "dummen" Portal zum Einsatz. Das leider nicht mehr kann.
Wie meinst du das? Ich muss also bei jedem <a href=".." > ein onclick="ermittleURL()" dazumachen.
Das wäre jetzt derr falsche Funktionsname.
Die Funktion müsste lauten:completeQueryStringAndDoRequest().
das ist reine Geschmacksache. ich habe es lieber auf deutsch. :-)
Dazu hätte ich noch eine Frage, ich möchte ja, daß diese ermittelte Url sofort ausgeführt wird. wie geht denn das? Ich habe schon mehrere Variante probiert, aber komme auf keinen grünen zweig.
Bitte zitiere nur, was du brauchst.
Was hast du bezüglich location() bisher versucht?
Da das ganze auch noch in einem Frame ist, habe ich schon über parent['Body'].location.href = url, frameset.location.assign, this.href und alles was ich so im Internet darüber gefunden habe.
Kannst du meine Frage bezüglich der Form deiner Urls bitte noch beantworten?
Ich möchte immer die ganze URL austauschen.
mfg Beat
Kannst du meine Frage bezüglich der Form deiner Urls bitte noch beantworten?
Ich möchte immer die ganze URL austauschen.
In dem Falle brauchst du bei n Filmen bei m verschiedenen Ansichten genau n x m vorher gespeicherte Urls. x
Du kommunizierst extrem trollig.
Jetzt solltest du uns noch darüber aufklären, ob die Domain, welche das Script ausführt, die gleiche Domain ist, deren Daten verändert werden sollen.
Bevor du dein Vorhaben nicht klar darstellen kannst erkläre ich es für gescheitert.
Punkt.
mfg Beat
Kannst du meine Frage bezüglich der Form deiner Urls bitte noch beantworten?
Ich möchte immer die ganze URL austauschen.In dem Falle brauchst du bei n Filmen bei m verschiedenen Ansichten genau n x m vorher gespeicherte Urls. x
Du kommunizierst extrem trollig.
Jetzt solltest du uns noch darüber aufklären, ob die Domain, welche das Script ausführt, die gleiche Domain ist, deren Daten verändert werden sollen.
Bevor du dein Vorhaben nicht klar darstellen kannst erkläre ich es für gescheitert.
Punkt.
mfg Beat
Hallo Beat,
danke für die Blumen. Ich habe mein Problem mittlerweile gelöst.
LG Martina
Hi!
Du kommunizierst extrem trollig.
Du bist mal wieder drollig
[*]
off:PP
[*] ein: 'SCNR' - vermeidend, um nicht als Troll erkannt zu werden.
Hi!
Die Funktion müsste lauten:
completeQueryStringAndDoRequest().
das ist reine Geschmacksache. ich habe es lieber auf deutsch. :-)
Zum Thema Geschmacksache fällt mir ein: mann/frau könne es ja mal mit Französisch probieren..
off:PP
Hi
Also ich habe 3 Radio Buttons und 1 bis n Links je nachdem welcher Radiobutton ausgewählt wird, müssen sich alle Links dazu ändern.
Dann legst Du zu jedem radio ein array von urls an:
var alleLinks1 = [
"link1_url",
"link2_url",
"link3_url",
"link4_url" // letzter ohne Aufzähungskomma !
];
... steckst alle zusammengehörenden Links in ein gruppierendes Parent-Element (Idealerweise eine Liste, wenns eine Linkliste ist ;-)) Diesem Element gibts Du eine ID (z.B.: myLinklist1)
Auf Radio-Klick holst Du per js alle Links im zugehörigen Elternelement:
var alleLinks = document.getElementsById("myLinklist1").getElementsByTagName("a");
... jetzt loopst Du Durch diese Link-Collection:
for (var i = 0; i < alleLinks.length; i++) {
alleLinks[i].href = alleLinks1[i];
}
und weist das neue href zu...
Gruesse, Joachim