L'événement Onclick et dynamique, le bouton créé en javascript
Exigences:
J'ai un tableau avec une ligne et trois colonnes. la première colonne est d'avoir bouton de. lorsque je clique sur le bouton nouvelle ligne doit être ajoutée à la table, et quand je clique sur le bouton dans la nouvelle ligne(c'est à dire créés dynamiquement) il convient en outre d'ajouter une nouvelle ligne.
seule la dernière rangée de boutons devraient ajouter une nouvelle ligne,tous les boutons précédent, doit changer et supprimer des boutons .
--java script fonction.
<html>
<head runat="server"><TITLE>Add/Remove dynamic rows in HTML table</TITLE>
<SCRIPT language="javascript">
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
var element1 = document.createElement("input");
element1.setAttribute('type','button');
element1.setAttribute('name','Add Row1');
element1.setAttribute('value','Add Row');
cell1.appendChild(element1);
var cell2 = row.insertCell(1);
var element2 = document.createElement("input");
element2.type = "text";
cell2.appendChild(element2);
var cell3 = row.insertCell(2);
var element3 = document.createElement("input");
element3.type = "checkbox";
cell3.appendChild(element3);
element1.onclick=addRow(tableID);
}
</HEAD>
<BODY>
<TABLE id="dataTable" width="250px" border="1">
<TR>
<td><INPUT type="button" value="Add Row" name="Add Row" onclick="addRow('dataTable')"/></td>
<TD><INPUT type="text" /></TD>
<TD><INPUT type="checkbox" name="chk"/></TD>
</TR>
</TABLE>
</BODY>
</html>
lorsque j'exécute ce code j'obtiens une ligne avec trois colonnes. lorsque je clique sur le bouton dans la première rangée.. sa l'ajout de lignes à l'infini. merci de m'aider à obtenir la sortie .
merci d'avance .
OriginalL'auteur pughalveni | 2012-10-30
Vous devez vous connecter pour publier un commentaire.
La raison pour laquelle ce code ne fonctionne pas est cette partie:
Ce que vous attendez d'arriver, c'est d'attribuer une valeur 'addRow(tableID)" pour le "onclick" attribut de la création de l'élément.
Ce que vous êtes en train de faire est en invoquant la " addRow fonction tout de suite, provoquer le programme boucle indefinately.
Le chemin le plus court pour corriger ce serait d'utiliser quelque chose comme ceci à la place:
Mise à jour de ma réponse. Devrait maintenant fonctionner
Merci beaucoup clark.. son travail maintenant.. mais la nouvelle ligne est ajoutée lorsque je clique sur tout botton. je veux la désactiver pour déjà ajouté un bouton.et souhaitez ajouter que lorsque je clique sur le dernier bouton. c'est à dire. après l'ajout d'une ligne, cette ligne de bouton de changement bouton supprimer .
OriginalL'auteur Clark Pan
C'est parce que votre fonction est d'appeler lui-même:
OriginalL'auteur Ilya Sidorovich