2009-11-25 10 views
0
pic_display+="<img src='"+pic_url+"' onClick='swapImage("+pic_url+");'> 

J'ajoute une image à l'innerHTML d'une div avec le code ci-dessus. Je veux appeler la fonction swapImage(pic_url) chaque fois que je clique sur l'image.comment appeler cette fonction javascript d'une autre fonction?

Je n'ai pas encore compris les syntaxes en javascript, toujours les confondre avec php.

Comment devrait-il être écrit?

Merci

Répondre

-1

Vous devez envelopper l'argument de la fonction entre guillemets comme vous avez avec l'attribut src. Par exemple.

pic_display+="<img src='"+pic_url+"' onClick='javascript:swapImage(\""+pic_url+"\");'> 
+1

Il n'y a pas besoin de mettre le javascript: dans un onclick comme ça –

+0

La deuxième suggestion est en partie correcte. Si pic_url peut contenir des guillemets, alors vous avez une vulnérabilité XSS: http://en.wikipedia.org/wiki/Cross-site_scripting Si pic_url peut contenir des esperluettes, vous pouvez modifier l'URL, par ex. pic_url = 'foo? a = b & lt = c & gt = d' devrait être converti en 'foo? a = b & lt = c & gt = d'. –

0

devrait être comme ceci onClick='swapImage(\""+pic_url+"\");'

Notez que vous devez citer l'URL de pic quand il est l'argument puisque vous sens à utiliser une chaîne et non une variable.

0

Au lieu de

onClick='swapImage("+pic_url+");'> 

essayer

onClick='swapImage(\""+pic_url+"\");'> 
1

Vous pouvez vider la question en citant à l'aide d'une variable au lieu de la chaîne:

... onclick="swapImage(this.src)" ... 
Questions connexes