我使用函数通过表单提供不同的变量。
function nav(target,array){
var arrayLength=array.length;
if(target===1){
document.getElementById(10).target='_blank';
}
for(var i=0; i<arrayLength; i++){
document.getElementById(i).value=array[i];
}
document.navi.submit();
}
<form id=10 action='' method='post' name='navi'>
<input type='hidden' id=0 name=nav[0] value=''>
<input type='hidden' id=1 name=nav[1] value=''>
<input type='hidden' id=2 name=nav[2] value=''>
<input type='hidden' id=3 name=nav[3] value=''>
<input type='hidden' id=4 name=nav[4] value=''>
</form>
如果我设置target = 0,它应该在同一页面上执行表单,如果为1它应该打开一个新窗口。
一切正常,但是如果我关闭新窗口并继续其他窗口并单击Target = 0的按钮,它仍会打开一个新窗口。
有什么想法吗?
答案 0 :(得分:0)
数字似乎不是问题。我重新创建了一个非常简单的版本,这次没有数字和文本而不是。
<!DOCTYPE HTML>
<HTML>
<head>
<meta charset="utf-8"></meta>
<script type="text/javascript">
function nav(target){
if(target==='outside') document.getElementById('testform').target='_blank';
document.formtest.submit();
}
</script>
</head>
<body>
<form id='testform' name='formtest' action=''>
<div onclick="nav('inside')">Button1</div>
<div onclick="nav('outside')">Button2</div>
</form>
</body>
</HTML>
如果单击button1,则会按预期重新加载。
如果单击button2,则会按预期打开一个新窗口。
如果您关闭新窗口并再次单击button1,则会打开一个新的窗口,该窗口不是... ...