每次单击打开新窗口的javascript代码正在替换旧窗口并创建新的空白窗口

每次单击打开新窗口的javascript代码正在替换旧窗口并创建新的空白窗口,javascript,jquery,Javascript,Jquery,我试图在每次点击href链接时打开新窗口。 但该窗口将被替换为“仅新页面”的值,并且每次单击都会打开一个空白窗口。我试过很多例子中提到的例子,但都没有用 下面是示例代码段 var-mapForm=document.createElement(“表单”); mapForm.target=“Map”; mapForm.method=“POST”//或“张贴”,如适用 mapForm.action=“../TestWindowsSample.jsp”; var mapInput=document.c

我试图在每次点击href链接时打开新窗口。 但该窗口将被替换为“仅新页面”的值,并且每次单击都会打开一个空白窗口。我试过很多例子中提到的例子,但都没有用

下面是示例代码段

var-mapForm=document.createElement(“表单”);
mapForm.target=“Map”;
mapForm.method=“POST”//或“张贴”,如适用
mapForm.action=“../TestWindowsSample.jsp”;
var mapInput=document.createElement(“输入”);
mapInput.type=“隐藏”;
mapInput.name=“selectedId”;
mapInput.value=selectedId;
appendChild(mapInput);
document.body.appendChild(mapForm);
map=window.open(“,”map“+(windowCount++)”,“状态=0,标题=0,高度=600,宽度=800,滚动条=1”);
如果(地图){
mapForm.submit();
}否则{
警报('必须允许此地图的弹出窗口工作');

}
您现在只有一个目标,
“地图”

我还假设
selectedId
windowCount
在其他地方设置,对吗

试一试


PS:如果您使用jQuery,则很容易显示div并用post的结果替换div的内容。

Ya您是对的。selectedId设置在我的代码中的某个地方,我已经按照您所说的方式进行了尝试。同样的结果没有改变。为什么会有一个空的/空白的窗口被打开?我必须看到它在运行。什么浏览器?控制台里有消息吗?windowCount是否定义为整数?
var windowCount = 0;
var selectedId = "some string";
var mapForm;
.
.
.
mapForm = document.createElement("form");
var tgt = "Map" + (windowCount++); // define the target here
mapForm.target = tgt;
mapForm.method = "POST"; // or "post" if appropriate
mapForm.action = "http://www.zensolutions.co.nz/dev/httpdump";
var mapInput = document.createElement("input");
mapInput.type = "hidden";
mapInput.name = "selectedId";
mapInput.value = selectedId + tgt; // is this set somewhere?
mapForm.appendChild(mapInput);
document.body.appendChild(mapForm);
map = window.open("", tgt,"height=600,width=800,scrollbars"); // reuse target here
if (map) {
  setTimeout(function() { // give IE time to respond
    mapForm.submit();
  }, 10);
} else {
  alert('You must allow popups for this map to work.');
}