Salut @ tous ! Je viens de mettre en place un formulaire d'upload d'images grâce à l'excellent tuto sur [url=http://www.grafikart.fr/tutoriels/jquery/plupload-277]Plupload[/url]. A la fin de l'upload l'image uploadée est affichée sans recharger la page : [code]var random_number = Math.floor(Math.random() * 1000001); $('#droparea a img').attr('src', 'http://localhost/beautefutee/assets/avatars/avatar\_membre\_' + user_id + '.jpg?a=' + random_number);[/code]Tout fonctionne bien, sauf que, si j'essaye à nouveau d'uploader sans recharger la page, le sélecteur de fichier s'affiche bien, mais une fois le fichier choisi, l'upload ne se lance pas. Par contre si je recharge la page ça marche correctement à nouveau. Voici mon code JS, merci de m'aider : [code]$(document).ready(function() { var user_id = $('input[name$="user_id_hidden"]').val(); var uploader = new plupload.Uploader( { runtimes : 'html5, flash', containes : 'plupload', browse_button : 'browse', drop_element : 'droparea', url : 'http://localhost/php/upload.php?new\_image\_name=avatar\_membre\_' + user_id, flash_swf_url : 'http://localhost/jq/plupload\_1\_5\_4/plupload.flash.swf', multipart : true, urlstream_upload : true, multipart_params : { directory : 'http://localhost/avatars' }, multi_selection : false, max_file_count : 1, filters : [{ title : "Image files", extensions : "jpg,gif,png" },] }); uploader.bind('Init', function(up, params) { if(params.runtime != 'html5') { $('#paragraphe_mon_avatar_1 span').html(' Cliquez sur votre avatar pour le modifier.'); $('#droparea').css('border', 'none').css('background', 'white'); } }); uploader.bind('UploadProgress', function(up, file) { $('#' + file.id).find('.progress_2').css('width', file.percent + '%'); }); uploader.init(); // Nombre de fichiers uploadable var queueMaxima = 1; uploader.bind('FilesAdded', function(up, files) { // Limiter le nombre de fichiers à uploader if(up.files.length > queueMaxima) { // Suppression des fichiers en trop while(up.files.length > queueMaxima) { if(up.files.length > queueMaxima) uploader.removeFile(up.files[queueMaxima]); } } var filelist = $('#filelist'); var boucle = 1; for(var i in files) { if(boucle ' + file.name + ' (' + plupload.formatSize(file.size) + ')

'); boucle = boucle + 1; } } $('#droparea').removeClass('droparea_hover'); uploader.start(); uploader.refresh(); }); uploader.bind('Error', function(up, err) { alert(err.message); $('#droparea').removeClass('droparea_hover'); uploader.refresh(); }); uploader.bind('FileUploaded', function(up, file, response) { data = $.parseJSON(response.response); if(data.error) { alert(data.message); $('#' + file.id).remove(); } else { var boucle = 1; $('#filelist').slideUp(); var random_number = Math.floor(Math.random() * 1000001); $('#droparea a img').attr('src', 'http://localhost/avatars/avatar\_membre\_' + user_id + '.jpg?a=' + random_number); uploader.refresh(); } }); $('#droparea').bind( { dragover : function(e) { $(this).addClass('droparea_hover'); }, dragleave : function(e) { $(this).removeClass('droparea_hover'); } }); });[/code]

1 réponse


Est ce que le problème ne viendrait pas de la limitation de fichier à uploader dans ta fonction FileUploaded.
Pourrait on avoir les console.log() des différentes valeurs en jeu dans cette fonction?