2010-11-30 2 views
0

Avec le script ci-dessous, j'ajoute 3 éléments lorsque le bouton Ajouter est cliqué.Le bouton onclick ne cochera que la première case à cocher ajoutée

  • une case à cocher
  • champ texte entrée
  • bouton Supprimer

Pour l'instant, lorsque le bouton de suppression est cliqué la case est cochée, mais quand je joins une autre (appelons-un groupe) trois éléments, le script ne fonctionne pas.

Quelqu'un peut-il expliquer comment je peux lier les éléments d'une certaine manière. Pour que chaque fois que je clique sur le bouton Ajouter les éléments sont liés aux éléments qui ont été créés en même temps sur le bouton.

Merci beaucoup à l'avance

<html> 
    <head> 
    <script language="Javascript"> 

    function append() 
    { 
    var cb = document.createElement("input"); 
    cb.type = "checkbox"; 
    cb.id = "id" 
      cb.checked = false; 

    var textfield = document.createElement("input"); 
    var delbtn = document.createElement("input"); 
    delbtn.type = "button"; 
    delbtn.value = "remove"; 
    delbtn.onclick= function(){remove()} 

    document.getElementById('append').appendChild(cb); 
    document.getElementById('append').appendChild(textfield); 
    document.getElementById('append').appendChild(delbtn); 
    } 


function remove() 
{ 
    id.checked = true;  
} 
    </script> 
    </head> 
    <body> 
     <div id="append"></div> 
     <input type="button" value="append" onClick="javascript:append()"/> 
    </body> 
</html> 

Répondre

1

Chaque fois que vous ajoutez une nouvelle case à cocher, vous utilisez

cb.id = "id" 

Cela pose un problème, car les éléments devraient avoir ids uniques.

En outre, vous faites référence à l'élément par son ID dans la portée globale:

id.checked = true; 

Vous devez utiliser la norme document.getElementById() au lieu.

+0

Merci, mais est-ce que cela signifie que je dois faire un tableau sur les trois éléments créés? – Opoe

Questions connexes