$.ajax({
type:'POST',
url: 'function.php',
success: function(data){
win = window.open("", "Window", "width=620,height=320,scrollbars=yes,titlebar=no,resizable=no");
if(win && !win.closed)
{
win.document.clear();
win.document.writeln(data);
win.document.writeln("<a href='javascript:self.close()'>close window</a>");
win.focus();
}
}
});
function.php
返回一个html表。
在父表单中包含多个链接,每次按下链接时我都需要根据链接ID刷新内容的新值。
答案 0 :(得分:0)
您可以使用jQuery删除html和body标签的内容:
$('body').empty();
$('html').empty();
这意味着,function.php必须通过AJAX返回一个完整的页面或至少返回页面正文 - 作为新内容插入win.document.writeln(data);
(就像你拥有它)或{{1} }
答案 1 :(得分:0)
这是一个修复问题的JSBin:http://jsbin.com/pekemecu/3/edit?html,js,output(仅在Google Chrome上测试)
您的弹出窗口未被清除,因为您正在窗口对象上调用getElementsByTagName
。相反,您需要在window.document
对象上调用它。另外,不要将html标记的innerHTML
设置为空白。如果您这样做,则所有后续的writeln
来电都将无效。
另外,请使用var
声明变量,否则所有变量都会被转储到全局范围。