我目前使用javascript来防止链接在每次用户点击时在多个浏览器选项卡上打开。假设我的链接目标是谷歌,它会创建一个新标签(如果不存在),但会在相同目标存在时刷新。迄今为止效果很好。PHP:表单阻止多个选项卡。
这是代码。
链接
<div id="container">
<a href="https://www.google.com" target="_blank">Google</a>
</div>
的JavaScript
<script>
document.getElementById("container").onclick = function(test){
if (test.target.tagName === "A")
window.open(test.target.href, test.target.href);
return false;
}
</script>
我的问题是,我如何使用相同的JavaScript我的形式类似的效果吗?我的意思是如果用户提交我的表单。如果不存在,它将在提交时创建一个新选项卡。但是如果选项卡存在,请在相同的选项卡上重新提交。我试图改变JavaScript,但不能使它作为正常链接工作。
这里是我的形式
<form name='form1' action='/newform.php' method='post' target='_blank'>
<input type='hidden' name='test' value=''>
<input type='image' src='../data/images/myimages.gif' width='100px' height='30px' alt=''>
</form>
你不能,不是那样的。不同之处在于,首先使用'window.open',而另一个则使用'target = _blank'。在第二个你没有选项卡的控制。 –
我不明白,先生。因为我也在我的链接上使用target = _blank。无法弄清楚为什么我的表单不断创建具有相同网址的新标签时提交而不是1.不像我的链接,只创建1个选项卡。 –
Your link = _blank on your link does not effect,because your window.open in your javascript and open the window like that。如果从链接中删除target = _blank,它也会起作用,因为它不是打开选项卡的链接,而是脚本。 –