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;" />
答案 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');
}