2009-10-26 4 views
1

Je fais un téléchargement avec le plugin Ajaxupload et j'utilise cette fonction dans l'événement OnComplete d'ajaxupload;image src ne change pas après le téléchargement

function degis(){ 
var a = "<?php echo $id; ?>"; 
document.getElementById("imga").src = "../artwork/"+a+"/logo.jpg?dummy=371662"; 
document.getElementById("imga").style.width = "500px"; 
document.getElementById("imga").style.height = "175px"; 
} 

mais la nouvelle image téléchargée n'apparaît pas pour une raison. J'ai essayé que "? mannequin = 371662" mais n'a pas fonctionné.

J'utilise également ce pour l'événement onsubmit de ajaxupload

function updeg(){ 
var a = "uploading.gif"; 
document.getElementById("imga").style.width = "50px"; 
document.getElementById("imga").style.height = "50px"; 
document.getElementById("imga").src = a; 

} 
</script> 

c'est le html de cet élément

<img id="imga" alt="" height="175px" src="../artwork/<?php echo $id; ?>/logo.jpg?dummy=371662" width="500px"> 

Toutes les suggestions à ce sujet?

+0

Veuillez afficher le code HTML associé. –

+0

Votre HTML montre la même chose que le JS. Voulez-vous dire que cela fonctionne en HTML, mais pas en JS? Le $ id est-il la seule chose qui change entre les deux? –

+0

lorsque la page charge l'élément "imga" src est correct, mais une fois le téléchargement terminé, il appelle cette fonction degis() pour changer "imga" src attr. à la nouvelle image téléchargée, il montre vieux, j'espère que je peux expliquer à droite désolé –

Répondre

1

Sur la base de vos modifications et commentaires ci-dessus, je pense que vous avez besoin de quelque chose comme ceci:

function junk() { 
    return (new Date()).getTime() + Math.round(Math.random()); 
} 

function degis() { 
    var img = document.getElementById("imga"); 
    if (img) { 
     img.src = "../artwork/<?php echo $id; ?>/logo.jpg?nocache=" + junk(); 
     img.style.width = "500px"; 
     img.style.height = "175px"; 
    } 
} 

Votre précédente tentative de contourner le cache ne fonctionne pas parce que votre valeur « factice » est le même à chaque fois. En utilisant une fonction junk(), comme ci-dessus, vous obtenez une valeur aléatoire différente à chaque fois, ce qui garantit que l'image ne peut pas être mise en cache.

+0

ok mais sans cette modification comment puis-je changer l'image après le téléchargement processus? –

+0

oh désolé vous parlez de hauteur et de largeur, je le change car il y a une autre fonction pour l'événement OnSubmit d'ajaxupload qui est le changement de hauteur et de largeur, je modifie ma question –

+0

édité pour répondre à la question et les commentaires. –

Questions connexes