繁体   English   中英

target =“ _ blank”不会打开新窗口

[英]target=“_blank” does not open new window

target =“ _ blank”不会打开新窗口,只会导航到同一窗口中的新页面,如下所示:

<form onSubmit="return process();" target="_blank"> 
<input type="text" name="url" id="url"  placeholder="Product ID"> <input type="submit" value="Search">
</form> 
<script>
function process(){
    var url= "https://myurl.com/products/" + document.getElementById("url").value.trim();
    location.href=url; return false;
}
</script> 

当您单击该按钮时,代码将立即触发,因此您的代码将导航到另一个页面,但位于同一选项卡中。

仅当表单具有将数据发送到的动作时, target="_blank"才有效。

使用window.open(url)代替。

 function process() { var url = "https://myurl.com/products/" + document.getElementById("url").value.trim(); window.open(url); return false; } 
 <form onSubmit="return process();" target="_blank"> <input type="text" name="url" id="url" placeholder="Product ID"> <input type="submit" value="Search"> </form> 


或者在您的流程函数中,将url分配给表单的action属性,并删除return false

我将表格命名为f

 function process() { var url = "https://myurl.com/products/" + document.getElementById("url").value.trim(); document.f.setAttribute('action', url); } 
 <form onSubmit="return process();" name="f" target="_blank"> <input type="text" name="url" id="url" placeholder="Product ID"> <input type="submit" value="Search"> </form> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM