Page 1 sur 1

Créer une div avec JS, avec du JS dedans

Posté : 23 nov. 2007, 23:47
par lux
Hello.

Je dois utiliser du Java pour une petite action dans un formulaire. J'uplaod une image, avec une iframe et du Javascript. J'ai reussi à faire afficher le lien de l'image par Javascript. Par la suite je veux écrire à la volée un lien <a href= ...>Inserer</a> qui insèrera le lien dans le textarea de la news.

Bon mon problème, je crée une div, j'y insère un lien <a href></a> dedans sans problème, mais j'arrive pas à y ajouter la fonction "insertion()" :
var afficher_inserer = par.createElement('div');
afficher_inserer.innerHTML = '<a href="javascript : ;" onClick="insertion();">Inserer</a>';
var conteneur = par.getElementById('display');
conteneur.appendChild(afficher_inserer);
Ça affiche le lien, mais celui-ci ne permets pas de lancer le script insertion.
Une idée, il faudrait que j'échappe des trucs, mais je sais pas quoi ni comment, je ne suis pas assez fort en Javascript ...

Posté : 24 nov. 2007, 12:16
par Berzemus

Code : Tout sélectionner

afficher_inserer.innerHTML = '<a href="javascript : ;" onClick="insertion();">Inserer</a>';
Tu fais deux chôses à la fois la..

C'est soit

Code : Tout sélectionner

afficher_inserer.innerHTML = '<a href="javascript:insertion();">Inserer</a>';
soit

Code : Tout sélectionner

afficher_inserer.innerHTML = '<a href="#" onclick="insertion();">Inserer</a>';
ça devrait déjà fonctionner mieux. N'oublie pas de terminer ta fonction insertion() par un "return false;" (ainsi l'évènement généré par le click s'arrête pour mourrir de sa belle mort..)

Posté : 24 nov. 2007, 17:06
par lux
Nickel ça marche !! 8-)

Merci beaucoup beaucoup.

Et merci pour le conseil sur le return:false; , j'en avais déjà vu dans du code, je me demandais à qui ça servait ... :oops:

Posté : 24 nov. 2007, 17:36
par Berzemus
Et merci pour le conseil sur le return:false; , j'en avais déjà vu dans du code, je me demandais à qui ça servait ... :oops:
C'est surtout gênant quand il y a d'autres objets censés réagir au clics en dessous de l'élément (event bubbling/capturing, petit lien), et que plusieurs fonctions se lancent par exemple.