Javascript表单在新选项卡中打开URL

时间:2011-11-29 14:12:05

标签: javascript html forms client

我有一段代码,我一直在寻求帮助,而且我遇到了一些我觉得不方便的问题。当我单击“开始”按钮时,它将远离当前选项卡。我想让表单中的结果URL在新选项卡中打开。另外我无法点击回车键,因为它只会在新窗口中加载整个表单。如何更正“输入”密钥使用问题并让我的表单在新选项卡中打开URL。表单功能是打开一个包含我要搜索的信息的新URL。这是我的代码:

<script type="text/javascript">
function setSearchTermSN(n){
   var SN_VALUE = encodeURIComponent(document.getElementById("sn").value);
   location.href = "http://URL to site.com/perl/search?searchtype=sn&type=2&uid=" + SN_VALUE + "&visualtype=html%2Fen&tabset=person";
 }
</script>

<form target="_blank">
Last Name: <input id="sn" type="text" value="" />
<input type="button" value="Go" onclick="setSearchTermSN()" />
</form>

想法是在输入框中输入诸如琼斯的姓氏。点击“开始”,表单会将" + SN_VALUE + "替换为Jones并加载网址,如下所示:

http://URL to site.com/perl/search?searchtype=sn&type=2&uid=Jones&visualtype=html%2Fen&tabset=person

表单目前正在进行替换,但它会从搜索框中浏览,这会破坏其拥有目的。我已经尝试了<form target="_blank">,但它仍会在同一页面中打开网址。

上述代码的功劳归于https://stackoverflow.com/users/904428/david

2 个答案:

答案 0 :(得分:1)

window.location仅处理当前文档。您需要使用window.open

错过了关于回车键的其他部分。您需要一个onkeyup事件侦听器并检查返回键的事件键代码,然后运行与单击相同的功能。

答案 1 :(得分:0)

function setSearchTermSN(n){
   var SN_VALUE = encodeURIComponent(document.getElementById("sn").value);
  var newwindow = window.open("http://URL to site.com/perl/search?searchtype=sn&type=2&uid=" + SN_VALUE + "&visualtype=html%2Fen&tabset=person",'name');
   return false;
 }