PHP在响应中显示iFrame

时间:2012-10-03 17:28:54

标签: php html iframe file-upload fancybox

我有一篇早先的帖子here,但答案根本没有帮助。我有一个像这样的上传功能:

<iframe class="iframe" name="message" src="upload.php" style="display:none;"></iframe>
<form action="upload.php" method="post" enctype="multipart/form-data" target="message">
    Select a file: <input type="file" name="upload">
    <input type="submit">
</form>

我正在尝试这样做:

$('.iframe').fancybox({
    'hideOnContentClick': true
});

因此,当upload.php给出响应(“文件成功上传”)时,它会进入iframe,这很棒。但我需要iframe来展示。如何在upload.php回复消息后取消隐藏iframe?

1 个答案:

答案 0 :(得分:0)

你真的必须有一个内联iframe吗?您可以尝试通过ajax submit表单并在fancybox中显示响应而不使用内联iframe

<form id="uploadForm" action="upload.php" method="post" enctype="multipart/form-data" target="message">
    Select a file: <input type="file" name="upload">
    <input type="submit">
</form>

注意我在表单中添加了 ID ,以便我们可以通过该选择器对其进行操作。然后是jQuery:

$("#uploadForm").bind("submit", function() {
 $.ajax({
   type     : "POST",
   cache    : false,
   url      : "upload.php",
   success  : function(data) {
    $.fancybox(data.responseText,{
      'hideOnContentClick': true
    });
   }
 });
 return false;
});
相关问题