[英]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.