Dropdownmenü an unterschiedlichen Fenstern öffnen

Dirk99

Grünschnabel
Hallo Zusammen,

auf meiner Suche nach einer JS-Antwort bin ich in dieses Forum gelangt. Mir stellt sich folgendes Problem: Ich habe eine Dropdownliste über <select> und <options> definiert. Bisher öffne ich die dahinterliegenden Links im selben Fenster. Nun möchte ich aber einen Link in einem neuen Fenster öffnen. Geht das, und wenn ja, wie?

Vielen Dank schon im Voraus für eure Antworten.

Grüße
Dirk
 
Hi,

mit window.open lässt sich ein neues Fenster öffnen.

Den Werten (value) der Optionen kannst Du die URLs der gewünschten Seite geben. Im onchange-Event
des Selects ermittelst Du den aktuell gewählten Wert und übergibst ihn als Parameter der open-Methode.

Beispiel:
Code:
<select onchange="if(this[this.selectedIndex].value!='0'){window.open(this[this.selectedIndex].value);}">
  <option value="0">- auswählen -</option>
  <option value="http://www.google.de">www.google.de</option>
  <option value="http://www.tutorials.de">www.tutorials.de</option>
</select>
Ciao
Quaese
 
Hi Quaese,

vielen Dank für den Code. Dieser öffnet doch beide URL´s in einem neuen Fenster, oder? Ich würde nun allerdings gerne "www.google.de" in einem neuen Fenster öffnen, während "www.tutorials.de" im aktuellen Fenster geöffnet wird.

Grüße
Dirk
 
Hi,

sorry, dass die Links in unterschiedlichen Fenstern geöffnet werden sollen, hatte ich wohl überlesen.

Zur Lösung:
Du könntest die Werte der Optionen noch um Teile ergänzen, die angeben, ob der Link im gleichen (0)
oder einem neuen (1) Fester geöffnet werden soll. In einer Funktion wertest Du den Inhalt des aktuellen
value-Attributes aus und gehst entsprechend vor.

Beispiel:
JS-Funktion
Code:
function openLink(objSel){
  if(objSel[objSel.selectedIndex].value=='0') return;

  var arrArgs = objSel[objSel.selectedIndex].value.split("||");
  if(arrArgs[1]=='1'){
    window.open(arrArgs[0]);
  }else if(arrArgs[1]=='0'){
    window.location.href = arrArgs[0];
  }
}
Zugehöriger HTML-Bereich
HTML:
<select onchange="openLink(this);">
	<option value="0">- auswählen -</option>
  <option value="http://www.google.de||1">www.google.de</option>
  <option value="http://www.tutorials.de||0">www.tutorials.de</option>
</select>
Ciao
Quaese
 
Vielen Dank Quaese!
Das Skrit läuft soweit und erfüllt das was ich suche.
Sag mal, kann man das neue Fenster auch noch von Anfang an maximieren?

Grüße
Dirk
 

Neue Beiträge

Zurück