-1

ここに以前の投稿がありましたが、答えはまったく役に立ちませんでした。次のようなアップロード機能があります。

<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 を再表示するにはどうすればよいですか?

4

1 に答える 1

0

本当にインライン iframe が必要ですか? submitajax を介してフォームにアクセスし、インライン iframe を使用せずに fancybox に応答を表示することができます。

<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;
});
于 2012-10-03T19:01:38.703 に答える