2010-12-06 36 views
0

Est-il possible que je peux utiliser l'événement .load (ou tout autre événement jquery) avec une image dynamique telle que cettejquery .load image dynamique

Chaque fois que je tente d'utiliser la méthode .load ou .get à recharger cette page dans le document il vient de sortir comme dans Firefox et PNG dans Internet Explorer.

Qu'est-ce qui me manque ici? Quelle serait la meilleure façon de faire cela? En général, ce que j'essaye d'accomplir ici est de recharger le fichier captcha.php dans un div quand on clique sur un lien et d'afficher une image captcha différente sans actualiser la page.

Le problème peut être trouvé ici
http://www.seewhosoutthere.com/createAccount

cliquant sur le petit bouton bleu « rafraîchir » à côté du captcha donnera le résultat dont je parle.

Le code actuellement utilisé pour cette page est

$('a#refresh').click(function(){ 
    $('#captcha').load('captcha.php'); 
}); 
+0

Il y a probablement un problème d'encodage (un mauvais jeu de caractères est utilisé quelque part). Pouvez-vous poster le HTML complet, etc.? Ou un lien. Est-ce que le fichier PHP fonctionne indépendamment? – matthewpavkov

+0

son travail pour moi, est-ce sur un navigateur ?? – kobe

+0

Alors demandez-vous comment recharger différentes images captcha sans rechargement complet de la page? –

Répondre

5

Au lieu de .load() (qui est pas destiné à des données binaires ... ce qui est la raison pour laquelle vous obtenez ces symboles amusants avec l'encodage) vous avez juste besoin pour créer un élément <img> avec le droit src et le mettre où vous voulez dans le document, par exemple:

$("<img />", { src:"http://www.seewhosoutthere.com/captcha"}).appendTo("#myDiv"); 

You can test it out here.

+0

Hé nick, le problème avec cela est alors il ajoute une autre image captcha (avec la même sécurité) à la même div donc il y a plusieurs images. – Ryan

+0

@Ryan - Oh si vous voulez le remplacer, faites juste $ ('# myDiv'). Html ($ ("", {src: "http://www.seewhosoutthere.com/captcha"})) ; ', ou appelez $ ('# myDiv'). empty()' avant ... quel que soit :) –

+0

Mais cela ne fait que charger l'image captcha identique, l'image n'est pas rafraichie avec un nouveau code. – Ryan