AppendChild getElementsByName onclick

Résolu/Fermé
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 - 23 juil. 2012 à 16:23
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 - 24 juil. 2012 à 13:22
Bonjour,

Je cherche a inserer des lignes a un tableau...
Probleme je n arrive pas a attribuer un evenement a un input inserer par javascript ...

voila le bout de code :
function Add_Item() {     

 var table = document.getElementById("tb_devis");
     var rowCount = table.rows.length;
     var row = table.insertRow(rowCount);
     window.status="rowCount="+rowCount;
     var cell1 = row.insertCell(0);
     cell1.innerHTML = rowCount;
                                                        
var namer=new Array("Item","Qantite","Prix HT","Total");
var fonct=new Array("function (){call();}","javascript:alert();","javascript:Add_Item();","");

for (i=1;i<=namer.length;i++) {
     var cell2 = row.insertCell(i);
     if (document.all){  // pour IE                            
        var element1 = document.createElement("<input name='"+namer[i-1]+"'>");
        }
        else{ // pour FF et autres navigateurs
        var element1 = document.createElement("input"); 
        element1.name=namer[i-1];
        }
     element1.type = "text";
     element1.value=element1.name;
     element1.onclick = fonct[i-1];//function(){alert();}; // de cette facon OK
     cell2.appendChild(element1);
}

var cell1 = row.insertCell(namer.length+1);
     cell1.innerHTML  = '<a style="cursor:pointer;" onclick="javascript:Add_Item();">'
     cell1.innerHTML += '<img src="./Include/add.jpg" title="add" width="20" height="20" align="middle" border="0" />';
     cell1.innerHTML += '</a>';

     var tmp_name = document.getElementsByName(namer[0])[rowCount-1];
     tmp_name.value=document.getElementsByName(namer[0]).length;
     tmp_name.onclick=fonct[0]; // mais pas de celle la 
 }


Une idée ???
Merci de votre lecture.

5 réponses

Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
23 juil. 2012 à 16:24
var cell1 = row.insertCell(namer.length+1);
     cell1.innerHTML  = '<a style="cursor:pointer;" onclick="javascript:Add_Item();">'
     cell1.innerHTML += '<img src="./Include/add.jpg" title="add" width="20" height="20" align="middle" border="0" />';
     cell1.innerHTML += '</a>';


ca aussi ca ne fonctionne pas .
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
23 juil. 2012 à 16:38
ok pour innerhtml
cell1.innerHTML  = '<a style="cursor:pointer;" onclick="javascript:Add_Item();"><img src="./Include/add.jpg" title="add" width="20" height="20" align="middle" border="0" /></a>';
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
Modifié par Fallentree le 23/07/2012 à 16:39
element1.onclick = fonct[i-1];//function(){alert();}; // de cette facon OK
plutot
element1.onclick =function(){alert();}; // de cette facon OK
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
24 juil. 2012 à 13:15
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
Modifié par Fallentree le 24/07/2012 à 13:23
ou
eval( "element1.onclick = "+fonct[i-1]+";");
et
var fonct=new Array("call","","Add_Item",""); 
0