Du bist nicht angemeldet (anmelden)
Supertopic » Forum » Webentwicklung » Javascript » Erledigt: Generierten Link durch javascript aufrufen
Seite 1
Erledigt: Generierten Link durch javascript aufrufen
Sehr geehrte Gemeinde,
ich probiere nun schon eine Weile rum und bekomme es nicht gebacken.
Ich habe 3 selectboxen, durch die ich mir einen Link generiere.
Nun würde ich gerne, dass am Ende auf diese Seite umgeleitet wird.
Aber genau hier hakt es bei mir:
Folgender Code
javascript
html
Er spuckt mir sauber den Link als Meldung aus.
Kann mir hier jemande helfen?
ich probiere nun schon eine Weile rum und bekomme es nicht gebacken.
Ich habe 3 selectboxen, durch die ich mir einen Link generiere.
Nun würde ich gerne, dass am Ende auf diese Seite umgeleitet wird.
Aber genau hier hakt es bei mir:
Folgender Code
javascript
<script type="text/javascript">function getSelectedValue(id) {var d = document.getElementById(id);for (i=0; i<d.length; i++) {if (d.options[i].selected == true) return d.options[i].value;}return false;}function goto() {v1 = getSelectedValue('kategorie1');v2 = getSelectedValue('kategorie2');v3 = getSelectedValue('kategorie3');alert("http://www.test.de/"+v1+v2+v3+"/");}</script>
html
<form><label>Hersteller<select name="kategorie1" id="kategorie1"><option value="">Bitte wählen</option><option value="01">hersteller1</option><option value="02">hersteller2</option><option value="03">hersteller3</option><option value="04">hersteller4</option><option value="05">hersteller5</option></select></label><label>Modell<select name="kategorie2" id="kategorie2"><option value="">Bitte wählen</option><option value="01">Modell1</option><option value="02">Modell2</option><option value="03">Modell3</option><option value="04">Modell4</option><option value="05">Modell5</option></select></label><label>Bauteil/Baugruppe<select name="kategorie3" id="kategorie3"><option value="">Bitte wählen</option><option value="01">Bauteil1</option><option value="02">Bauteil2</option><option value="03">Bauteil3</option><option value="04">Bauteil4</option><option value="05">Bauteil5</option></select></label><input type="submit" value="absenden" class="ez-go" onclick="goto()"></form>
Er spuckt mir sauber den Link als Meldung aus.
Kann mir hier jemande helfen?
ersetze den alert durch
window.location = "http://www.test.de/"+v1+v2+v3+"/";
Hey Jonis, vielen Dank für deine Antwort.
Kann es im Moment leider nicht testen.
Melde mich sobald ich wieder am Rechner bin.
Beste Grüße aus Entenhausen
Kann es im Moment leider nicht testen.
Melde mich sobald ich wieder am Rechner bin.
Beste Grüße aus Entenhausen
Ich versuche gerade noch eine kleine Abfrage einzufügen, die prüft, ob bei allen eine option ausgewählt wurde und die dann den absenden button einblendet.
html
Funktioniert auf Anhieb natürlich nicht.
Gibt es eine elegantere Möglichkeit?
Würde gerne auf das Formluar verzichten und das ganze in dieser Richtung lösen
(getestet und nicht funktioniert)
link
eine Idee, was ich falsch mache?
html
<form name="Formular"><label> Hersteller<select name="kategorie1" id="kategorie1"><option>Bitte wählen</option><option value="01">hersteller1</option><option value="02">hersteller2</option><option value="03">hersteller3</option><option value="04">hersteller4</option><option value="05">hersteller5</option></select></label><label> Modell<select name="kategorie2" id="kategorie2"><option>Bitte wählen</option><option value="01">Modell1</option><option value="02">Modell2</option><option value="03">Modell3</option><option value="04">Modell4</option><option value="05">Modell5</option></select></label><label> Bauteil/Baugruppe<select name="kategorie3" id="kategorie3"><option>Bitte wählen</option><option value="01">Bauteil1</option><option value="02">Bauteil2</option><option value="03">Bauteil3</option><option value="04">Bauteil4</option><option value="05">Bauteil5</option></select></label><input type="submit" value="absenden" class="ez-go" onclick="goto()" id="ez-gogo"/></form>
if(document.Formular.kategorie1.value == "" || document.Formular.kategorie2.value == "" || document.Formular.kategorie3.value == ""){document.getElementById(ez-gogo).style.display = "none";}else{document.getElementById(ez-gogo).style.display = "block";}
Funktioniert auf Anhieb natürlich nicht.
Gibt es eine elegantere Möglichkeit?
Würde gerne auf das Formluar verzichten und das ganze in dieser Richtung lösen
(getestet und nicht funktioniert)
<script>if("#kategorie1 option[value='xx']"||"#kategorie2 option[value='xx']"||"#kategorie3 option[value='xx']"){document.getElementById(ez-gogo).style.display = "none";}else{document.getElementById(ez-gogo).style.display = "block";}</script>
link
eine Idee, was ich falsch mache?
also ich würde dir empfehlen jQuery zu nutzen. das macht vieles ein bisschen einfacher.
dafür müsstest du im head-bereich die jquery.js laden. entweder lokal, oder über z.B. das google cdn
mit jquery könnte die lösung dann so ungefähr aussehen (bissi umständlich, aber auf die schnelle ist mir nichts klügeres eingefallen)
http://jsfiddle.net/3QTJd/2/
dafür müsstest du im head-bereich die jquery.js laden. entweder lokal, oder über z.B. das google cdn
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
mit jquery könnte die lösung dann so ungefähr aussehen (bissi umständlich, aber auf die schnelle ist mir nichts klügeres eingefallen)
http://jsfiddle.net/3QTJd/2/
hey, vielen lieben dank, honsey.
ich habe momentan das mittlerweile so gelöst, dass ich die funktion abfange, wenn die erste value=0 ist
ich habe momentan das mittlerweile so gelöst, dass ich die funktion abfange, wenn die erste value=0 ist
function goto() {selected_val = parseInt($('#hersteller').val());if( selected_val == '') {alert('Bitte einen Hersteller aus der Liste angeben');} else {v1 = getSelectedValue('hersteller');v2 = getSelectedValue('modell');window.location = "http://www.akf-beta.de/explosionszeichnungen/"+v1+"-"+v2+"/";}}
Editiert: 15.05.12, 21:03 Uhr
Hier „etwas“ generischer (langeweile). Dokumentation folgt noch http://jsfiddle.net/3QTJd/13/
