0

这个问题已经有几种变体,但我没有具体看到这个问题的解决方案。虽然我实际上并不需要这个功能,但我无法让它工作,这让我很生气!

我有一个字段,允许访问者输入一个 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"我的开始表单标签中添加一个它不起作用。为什么?我应该在哪里添加它?

4

2 回答 2

1

您永远不会提交表单。

您有一个事件处理程序,当表单开始提交时,它会设置location并阻止正常的表单提交。

window.open(url)如果您想打开一个新窗口,请使用它来代替。

于 2013-04-29T15:56:19.850 回答
0
var win=window.open(url, '_blank');
win.focus();

你可以试试这个:)

快乐编码:)

于 2013-04-29T15:58:18.767 回答