从文本框添加URL并使用javascript打开新窗口

时间:2016-03-30 02:39:24

标签: javascript html

onclick函数应该启动一个带有字符串的新窗口,并将文本框值附加到url,但它似乎不起作用。 (该字符串将在新窗口中填充另一个文本框。但是,这可以正常运行。)

当我使用window.location时它可以工作,但我不希望页面在同一个窗口中打开。

我对Javascript很陌生,谢谢你的帮助。

的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;" />

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

encodeURIComponent()函数对URI组件进行编码。

此功能可对特殊字符进行编码。

此外,它还编码以下字符:

  

,/? :@&amp; = + $#

示例:

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

输出

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

open()方法打开一个新的浏览器窗口。

  

语法:window.open(URL,name,specs,replace)

如果您的代码块在新窗口之外正常工作,请尝试:

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