HTML:
<form id="form">
<div class="form-group" id="df2">
<input type="text" class="form-control" name="atribut[]" onkeydown="changeIt(event)">
</div>
<div class="form-group" id="inputs">
</div>
</form>
changeIt function:
<script>
let div = document.getElementById("df2");
let inputs = document.getElementById("inputs");
function changeIt(event) {
var key = event.which || event.keyCode;
if (key == '13') {
const newInput = document.createElement('input');
newInput.type = 'text';
newInput.name = 'atribut[]';
newInput.onkeydown = 'changeIt(event)';
newInput.class = 'form-control';
inputs.appendChild(newInput);
console.log(newInput);
}
}
</script>
And the console only showing type & name attributes of the new input. This is makes the new input can’t produce new inputs again (it stops resulting only 2 inputs created, the original and the new one). How to resovle this?
2
Answers
When created via Javascript, the event listener must be a function, not a string. Use
or
or
instead of
here’s change