2016-03-30 18 views
0

Eine Onclick-Funktion soll ein neues Fenster mit einem String und dem an die URL angehängten Textbox-Wert starten, aber es scheint nicht zu funktionieren. (Die Zeichenfolge füllt ein anderes Textfeld im neuen Fenster. Dies funktioniert jedoch ordnungsgemäß.)URL an Textbox anhängen und neues Fenster mit Javascript öffnen

Wenn ich window.location verwende, funktioniert es, aber ich möchte nicht, dass die Seite im selben Fenster geöffnet wird.

Ich bin sehr neu in Javascript, danke für Ihre Hilfe.

Javascript

function changeLocation(){ 
var textboxpw = document.getElementById("key"); 
window.open{'http://website.com?secret="+textboxpw.value), '_blank';} 

HTML

<input type="text" name="key" id="key" /> 
<input type="submit" value="Go" onclick="changeLocation(); return false;" /> 
+0

Prüfung dieses [URL ] (https://developer.mozilla.org/en-US/docs/Web/API/Window/open) –

+0

Was enthält die 'textboxpw'-Variable? –

+0

ein anderer [URL] (http://stackoverflow.com/questions/14132122/open-url-in-new-window-with-javascript), hoffentlich kann es Ihnen helfen –

Antwort

4
function changeLocation(){ 
    var textboxpw = document.getElementById("key"); 
    window.open('http://website.com?secret='+encodeURIComponent(textboxpw.value), '_blank'); 
} 
+0

gute Verwendung von' encodeURIComponent'. –

+0

Ich habe dies versucht, hat kein Fenster geöffnet. – helenanananah

+0

Was passiert, wenn Sie 'changeLocation' anrufen? – v7d8dpo4

0

Die encodeURIComponent() Funktion codiert eine Komponente URI.

Diese Funktion codiert Sonderzeichen.

Zusätzlich codiert es die folgenden Zeichen:

, /? : @ & = + $ #

Beispiel:

var uri = "http://w3schools.com/my test.asp?name=ståle&car=saab"; 
var res = encodeURIComponent(uri); 

Ausgang:

http% 3A% 2F% 2Fw3schools.com% 2Fmy% 20test.asp% 3Fname% 3Dst% C3% A5le% 26car% 3Dsaab

Die Methode open() öffnet ein neues Browserfenster.

Syntax: window.open (URL, Name, Spezifikationen, ersetzen)

Wenn Ihr Code-Block außer einem neuen Fenster gut funktioniert dann versuchen:

function changeLocation(){ 
    textboxpw = document.getElementById("key"); 
    url = encodeURIComponent('http://website.com?secret='+textboxpw.value); 
    window.open(url, '_blank'); 
} 
+0

Leider startet es kein neues Fenster. – helenanananah

+0

hast du gesehen' Wenn dein Code Block gut funktioniert, außer einem neuen Fenster versuche ich' in meiner Antwort ?? Ich habe nichts in deinem geändert Code, fügen Sie einfach eine Funktion hinzu. –

Verwandte Themen