我有一篇早先的帖子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?
答案 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;
});