Pb appel de fonction javascript innerhtml [Résolu]

Messages postés
15
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
10 novembre 2010
- - Dernière réponse : cla85
Messages postés
15
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
10 novembre 2010
- 1 avril 2010 à 15:46
Bonjour,
Je vous explique :
J'ai créé une fonction qui affiche sur ma page avec la fonction innerhtml une div contenant des informations que l'utilisateur a saisi auparavant grâce à de l'ajax.
Dans cette div créé, il y a 2 boutons, correspondant chacun à une fonction javascript sous la forme nomfonction('param1, 'param2').
Le pb se situe dans IE (toutes versions) :
document.getElementById('tableau').innerHTML +=
'
...+ 
' 
[javascript:onclick=supprim(''+i+'',''+id_struct+'') Supprimer]...'


Pour firefox, il comprend les ' et les transforme en '.
mais IE ne comprend pas et sur le bouton j'ai uen fonction sous la forme :
supprim('i','id_struct')

Ce qui me génère alors des erreurs et bloquent les scripts exécutés après.

J'ai essayé d'inverser les ' et les " pour le
document.getElementById('tableau').innerHTML +="<div id='"+i+"'..."


Mais il ne comprend pas non plus.

Si vous avez déjà eu à faire à ce problème et avez trouver une solution, n'hésitez pas.

J'ai déjà un système de détection de browser mis en place pour d'autres scripts spécial IE, donc je pourrais p-e adapter quelque-chose.

Merci.
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
9
3
Merci
Bonjour,
il faut échapper les guillemets dans une chaine de caractères pour qu'ils soient pris en compte.
On échappe en mettant un anti-slash (\) devant, par exemple
<a href="javascript:onclick=supprim(\'" +i +" \', \'" +id_struct +"\')"

sur ce coup IE a raison.
d'une façon générale si la chaine commence par "
ALORS elle fini par "
, il semblerait que tu alternes, d'après ton code et je doute que FF l'accepte.
;O)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 136 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PetoleTeam
Messages postés
15
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
10 novembre 2010
0
Merci
Merci pour la réponse !
C'était bien un problème d'échappement en effet.
Commenter la réponse de cla85