这个问题已有多种变体,但我没有具体看到这个问题的解决方案。虽然我实际上并不需要这个功能,但是我无法让它起作用!
我有一个字段,允许访问者输入一个URL,然后将其带到那里。
<form name="urlField" onsubmit="return submitURLFieldForm();">
<input type="text" name="address" id="addressfield" />
</form>
处理这个问题的JS以便不必停止必要的协议(特别感谢@ h2ooooooo):
function submitURLFieldForm() {
var url = document.getElementById('addressfield').value;
if (!url.match(/^[a-zA-Z]+:\/\//)) {
url = 'http://' + url;
}
window.location.href = url;
return false;
}
如果我在初始表单标记中添加target="_blank"
,则无效。为什么?我应该在哪里添加它?
答案 0 :(得分:1)
您永远不会提交表单。
您有一个事件处理程序,当表单开始提交时,设置location
并阻止正常表单提交。
如果要打开新窗口,请使用window.open(url)
代替。
答案 1 :(得分:0)
var win=window.open(url, '_blank');
win.focus();
你可以试试这个:)
快乐的编码:)