Bonjour a tous,
J'ai une fonction qui permet l'upload d'une image en ajax (tout fonctionne) :
1 2 3 4 5 6 7 8 9 10
| function uploadFile(ida) {
var idb=ida;
var v_copypix = document.getElementById("copypix").checked; if (v_copypix === true){v_copypix = '1';}else{v_copypix= '0';}
var fd = new FormData();
fd.append("file", document.getElementById('file').files[0]);
var xhr = new XMLHttpRequest();
// xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.open("POST", "upload.php?bk="+ida+"©pix="+v_copypix);
xhr.send(fd);
} |
cependant je n'arrive pas a afficher l'image nouvelle téléchargée parmi les autres, sur ma page, donc je passe par une autre fonction ajax qui va chercher le contenu de l'album photo et qui les affiche
function aff_list_photo (idb) {fermer();$('#d_photo').show();$('#div_albums').hide();$('#d_l_photo').show(); $.ajax({url: "list_photo.php?nbbk="+idb,ifModified:true,success: function(content){$('#d_photo').html(content); }});}
Dans mon formulaire je valide l'upload comme ça :
1 2
| <input type="button" onclick="uploadFile(90); setTimeout('aff_list_photo(90)', 4000);" value="Envoyer" />
<input type="button" onclick="aff_list_photo(90);" value="test" /> |
En clair, la fonction aff_list_photo ne fonctionne pas en cliquant sur ENVOYER mais fonctionne si d'abord je clique sur Envoyer PUIS Test ???
J'ai besoin de mettre un setTimeout car l'upload peut mettre qq secondes pour se faire selon le poids de la photo, donc je force l'attente de 4 secondes avant d'appeler la fonction aff_list_photo(90) .. mais j'ai l'impression que les deux fonctions sont mises en attentes.. bref je tourne en rond.
Merci de votre aide.
Bonne journée
Partager