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>
发布于 2018-06-03 07:37:37
当您单击该按钮时,代码将立即触发,因此您的代码将导航到同一选项卡中的另一页。
仅当表单有要向其发送数据的操作时,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分配给表单的操作属性,然后删除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>
https://stackoverflow.com/questions/50662056
复制相似问题