Bonjour,
J'ai un souci qui me semble être pourtant quelque chose de basique mais que je suis incapable de faire fonctionner ...
Pour le contexte, je travaille sous Symfony2 actuellement et je propose à l'utilisateur d'importer un fichier (d'où l'input file). Et détail d'importance... ce site doit être fonctionnel sous IE 8 notre meilleur ami...
A travers les différentes méthodes j'ai choisi (à défaut de faire fonctionner les autres) celle qui consiste utiliser un Iframe hidden.
Dans mon html j'ai ceci :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <iframe id="hidden_iframe" name="hidden_iframe" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe> <form method="POST" enctype="multipart/form-data" id="formImport" target="hidden_iframe" action="monfichier.php"> <input type="file" name="inputPathImportFile" id="inputPathImportFile" onchange="checkfile(this);" > <input type="button" value="Valider" id="boutonValidImport" /> </form>
Je lance ensuite via Jquery unsur le clic du bouton "boutonValidImport". Tout est envoyé au serveur, là je lis le fichier (excel) et j'en retire certains éléments sous forme d'une chaine de caractère que je renvoie simplement. (Tout cela s'effectue correctement, j'avais pu le tester avec une autre méthode mais qui ne fonctionnait pas sous IE8).
Code : Sélectionner tout - Visualiser dans une fenêtre à part $( "#formImport" ).submit();
Mon soucis c'est de trouver la manière de récupérer ce retour php. J'ai bien vu que celui-ci se trouvait dans mon Iframe et que je pouvais faire cela :
Maintenant je souhaites effectuer cette action sur un équivalent du success d'Ajax. J'ai déjà essayé des ajax:complete (qui ne s'applique qu'au document depuis Jquery 1.8 si j'ai compris), des loads, des je ne sais quoi d'autres sans succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part var listeOnglet = $('#hidden_iframe')[0].contentWindow.document.body.innerHTML;
A savoir mon HTML est généré et n'est pas présent lors de la lecture du fichier js.
Auriez-vous une solution ? une piste ?
Merci d'avance.
Partager