Javascript Onclick

cs_fafal Messages postés 15 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 20 octobre 2008 - 20 oct. 2008 à 14:50
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 - 20 oct. 2008 à 18:19
Bonjour,

Je me trouve devant une impasse et je cherche quelqu'un qui pourrait me répondre
Je vous explique mon problème...

J'ai un tableau et j'aimerai que l'utilisateur puissent le modifier au tant qu'il le souhaite

img, action, titre mémo, date, input, ----
, action, memo, date, , ----
, action, memo, date, , ----
, action, memo, date, , ----
, action, memo, date, , ----
, action, memo, date, , ----
 , , , ,

Qu'il puisse effacer ajouter à sa demande. Mon problème se situe quand je créer la ligne je n'arrive pas à écrire le onclick correctement...

Voici mon code lors de la création de ce boutons :

/*input delete*/

                tdNode = document.createElement("td");
                inputNodeDel = document.createElement("input");

               inputNodeDel.onclick = function() {deleteaction(mynewid);}

                inputNodeDel.value = "Effacer"
                inputNodeDel.type = "button";
                inputNodeDel.id = "btn_del_act_" + mynewid;
              
                tdNode.appendChild(inputNodeDel);
                trNode.appendChild(tdNode);

La variable mynewid est récupéré avec ajax est différent à chaque enregistrement car à chaque clique de l'utilisateur il y a une interaction avec la base de donnée.

avant d'utiliser la ligne de code en gras j'utilisai celle ci :

inputNodeDel.setAttribute('onclick', "deleteaction('"+mynewid+"');");

Jusque là mon problème n'est pas claire car tout marchait à la perfection avant de tester sous IE. Elle n'est évidement  pas compatible sous IE alors je l'ai remplacé mais l'actuelle pose problème la variable mynewid change à chaque fois qu'on appel la fonction.
...Pour résumer je n'arrive pas à écrire le onclick correctement avec les bons id à chaque fois que l'utilisateur veut rajouter une ligne pour pouvoir l'effacer correctement par la suite...

Si quelqu'un à une idée du pourquoi du comment il me rendrait un grand service.

Je vous remercie de vous être interresé a mon problème

3 réponses

cs_fafal Messages postés 15 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 20 octobre 2008
20 oct. 2008 à 15:06
P.S : Il y a les boutons ajouter et effacer ainsi que les input text qui on disparut lorsque j'ai poster le message
sa aurait du donner sa normalement
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
20 oct. 2008 à 15:28
on n'a pas tout à fait tout pour répondre

on ne peut que suggérer des pistes
_ évite setAttribute, ça ne fonctionne pas de la même manière
    avec tous les navigateurs
    fait plutôt : élément.onclick=function() { traitement.... }
_ ensuite tu veux détruire la ligne ?
   soit tu continues dans la lignée de ce que tu fais ( Element, Child, Node ... )
   soit tu utilises     tableau.deleteRow(n° ligne)      rowIndex du tr c'est le n° de ligne

Cordialement

          Bul [mon Site] [M'écrire]         
0
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
20 oct. 2008 à 18:19
Comme Bultez l'a indiqué, setAttribute convient uniquement aux ... attributs. onclick est un pointeur vers un événement donc à éviter de toute urgence.
Cependant, n'hésite pas à user du setAttribute. Dans une optique XML, il n'est pas conseillé d'utiliser ces genre de syntaxe :

monElement.id = ...
monElement.href = ...

<hr size="2" width="100%" />Projet en cours : Joof
0
Rejoignez-nous