2014-05-11 100 views
1

我想创建一个弹出窗口与相当多的内容,所以我已经把内容放入一个单独的.php文件,我使用下面的JavaScript获取效果我想:从外部PHP文件动态创建内容的JS

$('#popup').show(); 
var u = $("#username").html(); 
$('#popup').html('<iframe src="content.php?u='+u+'"></iframe>'); 

这工作很好,但我有当用户点击退出键为关闭功能:

$(document).keyup(function(e) { 
    if (e.keyCode == 27) { 
    $('#popup').hide().html(''); 
    } 
}); 

我的问题是,一旦弹出打开,并且用户在iframe中单击,因为我正在使用iframe,所以退出按钮不再关闭窗口。

有没有更好的方法在Javascript中包含一个外部的PHP文件,像这样动态的,还是有办法让退出按钮功能工作,即使iframe已被点击?

+1

来自同一个域?使用Ajax – mplungjan

+0

为什么一个iframe? –

+0

我不知道我可以用这种方式使用ajax。多谢你们。 – user2250471

回答

2

您可以使用jQuery的​​:

$('#popup').load('somefile.php'); 
1

它不建议使用iframe,使用ajax。如果您仍然想要使用iframe,那么您必须将popup存储在top中,例如,下面添加代码主要php文件

top.popup = $('#popup'); 
top.popup.show(); 
var u = $("#username").html(); 
top.popup.html('<iframe src="content.php?u='+u+'"></iframe>'); 

而且在主php下面的代码和content.php

$(document).keyup(function(e) { 
    if (e.keyCode == 27) { 
     top.popup.hide().html(''); 
    } 
});