Page 1 sur 1

Syntaxe pour exécuter fonction javascript dans html += ('')

Posté : 03 août 2016, 14:20
par tlalaguedulac
Bonjour,

J'ai une fonction qui marche très bien sur un exemple dans un fichier à part, cette dernière permet d'écrire dans le div qui correspond à l'id passé en paramètre. Mais quand j'ai voulu l'ajouter à mon fichier réel la syntaxe et la fonction ne semble plus marcher.

Si quelqu'un voit une erreur dans ces lignes, j'ai cherché en vain !
html += ('<td class="hideHoraires"><body onload="javascript:addElem(\'begin\')"><div id="begin" align="center"></div>');
c'est ici que j'appelle ma fonction (j'ai essayé sans le "javascript:" pour le addElem ca ne fonctionne pas non plus).

Ma fonction, même si cette dernière ne comporte pas d'erreurs je pense :
function addElem(id) {
	document.getElementById(id).innerHTML = "<img src=\"settings.png\" width=\"20\" heigth=\"20\" onclick=\"javascript:visibilite('radio'); return false;\" >";
}
Sur mon fichier à part j'utilisais la méthode body onload="addElem('begin')", c'est pour cela qu'il est présent dans mon code.

Le programme ne passe pas par ma fonction (j'ai testé avec un alert).

Si quelqun peut m'aider !

Re: Syntaxe pour exécuter fonction javascript dans html += ('')

Posté : 03 août 2016, 14:47
par moogli
salut,

il n'y a qu'une seule balise body dans la structure d'un fichier html, donc ton code ne peux fonctionner.

tu souhaites plutôt utiliser l'event onclick ?
par exemple
<a href="#" onclick="addElem(\'begin\');return false;"/>display form</a>

@+

Re: Syntaxe pour exécuter fonction javascript dans html += ('')

Posté : 03 août 2016, 15:00
par tlalaguedulac
Je viens de remplacer la balise body par le code que tu m'as proposé, ma fonction ne s'éxecute pas non plus ...

Le onclick est une bonne solution mais ici j'aimerai que les div se remplissent dès le chargement de la page et pas sur un onclick !

Si il y a une alternative au onload ?

Re: Syntaxe pour exécuter fonction javascript dans html += ('')

Posté : 03 août 2016, 15:17
par moogli
aahhh ben dans ce cas c'est dans le onload du body de la page qu'il faut mettre ça.

si tu as plusieurs ligne comme cela y a des chances que ça pose problème (un id est normalement unique).

du coup est ce qu'il y a vraiment besoin de cela et le faire coté serveur directement ?

@+

Re: Syntaxe pour exécuter fonction javascript dans html += ('')

Posté : 03 août 2016, 15:47
par tlalaguedulac
Je vais effectivement essayer de l'intégrer au body coté client, ca me parait être la meilleure solution.

Mais sans id dynamique et avec un id unique, cela va me poser problème effectivement !

Merci pour les infos ! Je vais bosser la dessus !

Bonne fin de journée !

Re: Syntaxe pour exécuter fonction javascript dans html += ('')

Posté : 03 août 2016, 16:26
par moogli
de rien, a toi aussi ;)

@+