2012-10-03 1 views
-1

J'avais un post précédent here mais la réponse n'a pas aidé du tout. J'ai une fonction de téléchargement comme ceci:PHP Affichage iFrame sur la réponse

<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> 

Et je suis en train de faire quelque chose comme ceci:

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

Ainsi, lorsque upload.php donne une réponse (« fichier téléchargé avec succès ») il va dans l'iframe ce qui est génial. Mais j'ai besoin de l'iframe à montrer. Comment puis-je afficher l'iframe après upload.php a répondu avec un message?

+0

Faites-vous cette demande avec AJAX? –

+0

Soumettez-vous votre formulaire via AJAX? –

+0

lol @JustinWood: D –

Répondre

0

Avez-vous vraiment besoin d'un iframe inline? Vous pouvez essayer de submit le formulaire via ajax et afficher la réponse dans fancybox sans iframe en ligne comme

<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> 

Avis que j'ai ajouté un ID à la forme afin que nous puissions le manipuler grâce à ce sélecteur. Puis le jQuery:

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

Cela n'a pas fonctionné, l'iframe n'affichait rien après le téléchargement d'un fichier. –

+0

cette solution n'utilise pas d'iframe – JFK

Questions connexes