| 

.NET C# Java Javascript Exception

2
Ich verwende folgenden Code zum Erzeugen eines Links:

HTML-Code:
<script language="javascript" type="text/javascript"><!--
function generateURL()
{
self.location.href = 'http://xyz.de/def/FieldX=' + document.getElementById("Link").value;
}
//-->
</script>


Das Skript wird aufgerufen über den folgenden HTML-Code:

<a target="_blank" href="javascript:generateURL();" class="short">Link » </a>


Wie erreiche ich, dass die generierte Url, in einem neuem Fenster geöffnet wird?
28.01.2012
richieking 1 1
2 Antworten
1
Hi,
schau die mal die Seite hier an:
http://de.selfhtml.org/javascript/objekte/window.htm#open

Du könntest in deine Funktion noch folgendes einbauen bzw. ändern, damit öffnest du direkt das Fenster mit entsprechenden Parametern:
function generateURL()
{
var url = 'http://xyz.de/def/FieldX=' + document.getElementById("Link").value;
// verschiedene Parameter setzen, Beispiel
var wparams = 'toolbar=0,location=0,directories=0,status=0,menubar=0,';
wparams += 'scrollbars=0,resizable=0,width=280,height=150';
// Fenster öffnen
var window = window.open(url, 'DeinFensterName', wparams);
// Focus auf das Fenster setzen
window.focus();
}


Dein Aufruf müsstest du dann noch, wie folgt, ändern:
<a href="javascript:generateURL();" class="short">Link » </a>


Gruß Jens

UPDATE:
ich würde den Aufruf ggfls. noch kapseln. Für den Fall dass du mehrere verschiedene Seiten aufrufen möchtest:

function generateURL()
{
var url = 'http://xyz.de/def/FieldX=' + document.getElementById("Link").value;
// verschiedene Parameter setzen, Beispiel
var wparams = 'toolbar=0,location=0,directories=0,status=0,menubar=0,';
wparams += 'scrollbars=0,resizable=0,width=280,height=150';
doOpen(url, wparams);
}
function doOpen(url, wparams) {
// Fenster öffnen
var window = window.open(url, 'DeinFensterName', wparams);
// Focus auf das Fenster setzen
window.focus();
}


Damit könntest du verschiedene Links mit dem selben open Befehl öffnen. Würde bei vielen Links Code sparen.
Wenn alle Fenster gleich aussehen sollen, können die Parameter für das Fenster in die Funktion doOpen() gelagert werden.

Jens
28.01.2012
XJenso 322 7
0
Solltest du nicht einfach in der Funktion generateURL die url zurückgeben?
function generateURL()
{
return 'http://xyz.de/def/FieldX=' + document.getElementById("Link").value;
}


Dann sollte es funktionieren.
28.01.2012
Xendor 1 1 1

Stelle deine Javascript-Frage jetzt!