Les points d'intérêt sont:
function tab(event) {
if (event.keyCode == 9) {
// remove the event listener for the old element
event.target.removeEventListener('keydown', tab);
var ins = document.createElement("input");
ins.type = "text";
ins.autofocus = true;
document.getElementById("insert").appendChild(ins);
ins.addEventListener('keydown', tab, false);
}
}
window.addEventListener('DOMContentLoaded', function(e) {
document.getElementsByTagName("input")[0].addEventListener('keydown', tab, false);
}, false);
<form>
<input type ="text"/>
<div id ="insert">
</div>
</form>
Pour ajouter une ligne d'entrées comme décrit dans le commentaire que vous devez créer et ajouter une nouvelle ligne à la table, créer 3 cellules et pour chacun ajouter le champ d'entrée correspondant et définir le gestionnaire d'événements onglet par exemple sur la dernière cellule.
Pour créer une nouvelle ligne dans une table, vous pouvez vous référer à insertRow, tandis que pour ajouter de nouvelles cellules que vous pouvez jeter un oeil à insertCell
function tab(event) {
if (event.keyCode == 9) {
event.target.removeEventListener('keydown', tab);
var table = document.getElementById('tbl').getElementsByTagName('tbody')[0];
var newRow = table.insertRow(table.rows.length);
var newCell = newRow.insertCell(-1);
var ins = document.createElement("input");
ins.type = "number";
ins.autofocus = true;
newCell.appendChild(ins);
newCell = newRow.insertCell(-1);
ins = document.createElement("input");
ins.type = "text";
ins.autofocus = true;
newCell.appendChild(ins);
newCell = newRow.insertCell(-1);
ins = document.createElement("input");
ins.type = "number";
ins.autofocus = true;
newCell.appendChild(ins);
ins.addEventListener('keydown', tab, false);
setTimeout(function() {
ins.focus();
}, 10);
}
}
window.addEventListener('DOMContentLoaded', function (e) {
document.getElementsByTagName("input")[0].addEventListener('keydown', tab, false);
}, false);
<form>
<input type="text"/>
<div id="insert">
<table id="tbl">
<thead>
<tr>
<th>Number</th>
<th>Text</th>
<th>Number</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</form>
Ne pas utiliser les attributs HTML d'événement. Utilisez les écouteurs d'événement dans JS. Utiliser la délégation d'événement Pensez à utiliser jQuery si l'un de ceux que je viens de taper ne vous semble pas familier. – evolutionxbox
Exemple s'il vous plaît? – user3464091
'ins ++' n'est pas valide, car vous pouvez ajouter un nombre à un objet HTML. --- Comme pour les exemples, je recommande d'utiliser google en utilisant les termes que j'ai énumérés. --- La lecture est votre meilleur ami ici. – evolutionxbox