<p class="label"> <form id="links"> <input type="text" class="insert" name="input" onchange="createLink()"> <br> </form> </p> </div> <script> function createLink() { var newline = document.createElement("br"); var input = document.createElement("input"); input.type = "text"; input.name = "input"; input.onchange = "createLink()"; var element = document.getElementById("links"); element.appendChild(newline); element.appendChild(input); } </script>Intenté repetir la creación de un nuevo campo de entrada nuevamente desde el nuevo campo de entrada, pero solo es posible desde mi primer campo de entrada. ¿Por qué? y cual es la mejor solucion
Usa este código. Espero que este código funcione, quieres decir)
<p class="label"> <form id="links"> <input type="text" class="insert" name="input" onchange="createLink()"><br> </form> </p> <script> var element = document.getElementById("links"); function createLink(){ var newline = document.createElement("br"); var input = document.createElement("input"); input.type = "text"; input.name = "input"; input.addEventListener('change', createLink) element.appendChild(newline); element.appendChild(input); } </script>Su implementación está un poco fuera de lugar. En lugar de pasar createLink como cadena. páselo como función de flecha, como se muestra a continuación:
<p class="label"> <form id="links"> <input type="text" class="insert" name="input" onchange="createLink()"> <br> </form> </p> </div> <script> function createLink() { var newline = document.createElement("br"); var input = document.createElement("input"); input.type = "text"; input.name = "input"; input.onchange = ()=> createLink(); var element = document.getElementById("links"); element.appendChild(newline); element.appendChild(input); } </script>