Salut à tous,
Je cherche à supprimer les lignes d'un tableau en utilisant DOM.
Quand on clique sur un lien "Effacer" ou sur un bouton, il faut lancer la fonction d'effacement.
Le souci, c'est que le lien ou le bouton est créé lors de l'ajout préalable de la ligne, en utilisant DOM.
Extrait de code :
Mais le clic sur le bouton ou le lien ne provoque pas le lancement de la fonction retireListe()
Ma question : Est-ce que je peux définir mon événement de cette manière
ou bien cette méthode est bidon ? Comment faire?
EDIT: J'ai fini par trouver la solution moi-même:
Je colle la fonction complète si ça peut dépanner quelqu'un un jour (faut adapter quand même) :
Modifié par Oniros (08 Jan 2008 - 14:46)
Je cherche à supprimer les lignes d'un tableau en utilisant DOM.
Quand on clique sur un lien "Effacer" ou sur un bouton, il faut lancer la fonction d'effacement.
Le souci, c'est que le lien ou le bouton est créé lors de l'ajout préalable de la ligne, en utilisant DOM.
Extrait de code :
var linkNode = document.createElement("a");
trNode.id = unId;
linkNode.onclick = "javascript:retireListe(" + unId + ")";
linkNode.href = "#";
linkNode.appendChild(document.createTextNode("Effacer"));
Mais le clic sur le bouton ou le lien ne provoque pas le lancement de la fonction retireListe()
Ma question : Est-ce que je peux définir mon événement de cette manière
linkNode.onclick = "javascript:retireListe(" + unId + ")";
ou bien cette méthode est bidon ? Comment faire?
EDIT: J'ai fini par trouver la solution moi-même:
linkNode.onclick = function(){document.getElementById("listeUser").removeChild(trNode)};
Je colle la fonction complète si ça peut dépanner quelqu'un un jour (faut adapter quand même) :
function ajoutListe( unId ) {
var trNode = document.createElement("tr");
var tdNode = document.createElement("td");
var inputNode = document.createElement("input");
var linkNode = document.createElement("a");
trNode.id = unId;
linkNode.onclick = function(){document.getElementById("listeUser").removeChild(trNode)};
linkNode.href = "#";
linkNode.appendChild(document.createTextNode("Effacer"));
tdNode.appendChild(document.createTextNode(document.forms[0].elements[0].options[unId].text));
trNode.appendChild(tdNode);
tdNode = document.createElement("td");
tdNode.appendChild(linkNode);
trNode.appendChild(tdNode);
for( i = 1 ; i < 17 ; i++ ) {
//window.alert(i);
inputNode = document.createElement("input");
inputNode.type = "checkbox";
inputNode.name = "chkMenu" + i + unId;
inputNode.value = i;
tdNode = document.createElement("td");
tdNode.appendChild(inputNode);
trNode.appendChild(tdNode);
}
document.getElementById("listeUser").appendChild(trNode);
}
Modifié par Oniros (08 Jan 2008 - 14:46)