Erledigt: Generierten Link durch javascript aufrufen

 


smoke
Veteran

11.05.12
18:45 Uhr
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
  1. <script type="text/javascript">
  2. function getSelectedValue(id) {
  3. var d = document.getElementById(id);
  4. for (i=0; i<d.length; i++) {
  5. if (d.options[i].selected == true) return d.options[i].value;
  6. }
  7. return false;
  8. }
  9. function goto() {
  10. v1 = getSelectedValue('kategorie1');
  11. v2 = getSelectedValue('kategorie2');
  12. v3 = getSelectedValue('kategorie3');
  13.  
  14. alert("http://www.test.de/"+v1+v2+v3+"/");
  15. }
  16. </script>
Quelltext in Zwischenablage kopieren

html
  1. <form>
  2. <label>
  3. Hersteller
  4. <select name="kategorie1" id="kategorie1">
  5. <option value="">Bitte w&auml;hlen</option>
  6. <option value="01">hersteller1</option>
  7. <option value="02">hersteller2</option>
  8. <option value="03">hersteller3</option>
  9. <option value="04">hersteller4</option>
  10. <option value="05">hersteller5</option>
  11. </select>
  12. </label>
  13. <label>
  14. Modell
  15. <select name="kategorie2" id="kategorie2">
  16. <option value="">Bitte w&auml;hlen</option>
  17. <option value="01">Modell1</option>
  18. <option value="02">Modell2</option>
  19. <option value="03">Modell3</option>
  20. <option value="04">Modell4</option>
  21. <option value="05">Modell5</option>
  22. </select>
  23. </label>
  24. <label>
  25. Bauteil/Baugruppe
  26. <select name="kategorie3" id="kategorie3">
  27. <option value="">Bitte w&auml;hlen</option>
  28. <option value="01">Bauteil1</option>
  29. <option value="02">Bauteil2</option>
  30. <option value="03">Bauteil3</option>
  31. <option value="04">Bauteil4</option>
  32. <option value="05">Bauteil5</option>
  33. </select>
  34. </label>
  35. <input type="submit" value="absenden" class="ez-go" onclick="goto()">
  36. </form>
Quelltext in Zwischenablage kopieren

Er spuckt mir sauber den Link als Meldung aus.

Kann mir hier jemande helfen?
Link zu diesem Beitrag in die Zwischenablage kopieren
Mister Ad
Werbung
Schon mal bei Zalando, Amazon oder eBay geguckt? Vielleicht wirst du dort fündig.

 
Jonis
Veteran

11.05.12
18:51 Uhr
ersetze den alert durch

  1. window.location = "http://www.test.de/"+v1+v2+v3+"/";
Quelltext in Zwischenablage kopieren
Link zu diesem Beitrag in die Zwischenablage kopieren
smoke
Veteran

12.05.12
10:21 Uhr
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
Link zu diesem Beitrag in die Zwischenablage kopieren
smoke
Veteran

13.05.12
15:39 Uhr
:gott Jonis

es funktioniert wunderbar love

vielen lieben dank für deine hilfe!
Link zu diesem Beitrag in die Zwischenablage kopieren
Jonis
Veteran

13.05.12
15:45 Uhr
:bitte ;)
Link zu diesem Beitrag in die Zwischenablage kopieren
smoke
Veteran

13.05.12
16:38 Uhr
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
  1. <form name="Formular">
  2. <label> Hersteller
  3. <select name="kategorie1" id="kategorie1">
  4. <option>Bitte w&auml;hlen</option>
  5. <option value="01">hersteller1</option>
  6. <option value="02">hersteller2</option>
  7. <option value="03">hersteller3</option>
  8. <option value="04">hersteller4</option>
  9. <option value="05">hersteller5</option>
  10. </select>
  11. </label>
  12. <label> Modell
  13. <select name="kategorie2" id="kategorie2">
  14. <option>Bitte w&auml;hlen</option>
  15. <option value="01">Modell1</option>
  16. <option value="02">Modell2</option>
  17. <option value="03">Modell3</option>
  18. <option value="04">Modell4</option>
  19. <option value="05">Modell5</option>
  20. </select>
  21. </label>
  22. <label> Bauteil/Baugruppe
  23. <select name="kategorie3" id="kategorie3">
  24. <option>Bitte w&auml;hlen</option>
  25. <option value="01">Bauteil1</option>
  26. <option value="02">Bauteil2</option>
  27. <option value="03">Bauteil3</option>
  28. <option value="04">Bauteil4</option>
  29. <option value="05">Bauteil5</option>
  30. </select>
  31. </label>
  32. <input type="submit" value="absenden" class="ez-go" onclick="goto()" id="ez-gogo"/>
  33. </form>
Quelltext in Zwischenablage kopieren



  1. if(document.Formular.kategorie1.value == "" || document.Formular.kategorie2.value == "" || document.Formular.kategorie3.value == "")
  2. {
  3. document.getElementById(ez-gogo).style.display = "none";
  4. }
  5. else
  6. {
  7. document.getElementById(ez-gogo).style.display = "block";
  8. }
Quelltext in Zwischenablage kopieren

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)

  1. <script>
  2. if("#kategorie1 option[value='xx']"||"#kategorie2 option[value='xx']"||"#kategorie3 option[value='xx']")
  3. {
  4. document.getElementById(ez-gogo).style.display = "none";
  5. }
  6. else
  7. {
  8. document.getElementById(ez-gogo).style.display = "block";
  9. }
  10. </script>
Quelltext in Zwischenablage kopieren

link

eine Idee, was ich falsch mache?
Link zu diesem Beitrag in die Zwischenablage kopieren
honsey
Gastarbeiter

14.05.12
20:04 Uhr
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
  1. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
Quelltext in Zwischenablage kopieren

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/
Link zu diesem Beitrag in die Zwischenablage kopieren
smoke
Veteran

15.05.12
13:52 Uhr
hey, vielen lieben dank, honsey.

ich habe momentan das mittlerweile so gelöst, dass ich die funktion abfange, wenn die erste value=0 ist

  1. function goto() {
  2. selected_val = parseInt($('#hersteller').val());
  3. if( selected_val == '') {
  4. alert('Bitte einen Hersteller aus der Liste angeben');
  5. } else {
  6. v1 = getSelectedValue('hersteller');
  7. v2 = getSelectedValue('modell');
  8. window.location = "http://www.akf-beta.de/explosionszeichnungen/"+v1+"-"+v2+"/";
  9. }
  10. }
Quelltext in Zwischenablage kopieren
Link zu diesem Beitrag in die Zwischenablage kopieren
trulla
Stammgast

15.05.12
20:50 Uhr
Editiert: 15.05.12, 21:03 Uhr
Hier „etwas“ generischer (langeweile). Dokumentation folgt noch )

http://jsfiddle.net/3QTJd/13/
Link zu diesem Beitrag in die Zwischenablage kopieren
 
#