hola ando aprendiendo javascript ojala puedan aclararme un poco
estoy trabajando un formulario que me agrega mas inputs según los que deba registrar el usuario (createElement).
Lo que estoy tratando de hacer y no me queda es la funcionalidad de eliminar el input text que fue creado por el usuario.
Mi código javascript lo tengo así
(por si es que debe eliminar un input text)
Código Javascript
:
Ver originalvar i = 0;
function addInput(datoInput,nombre,donde){
i++;
var contene = document.getElementById(donde);
var salto = document.createElement('br');
var nuevoInput = document.createElement('input');
var nuevoButton = document.createElement('input');
nuevoInput.type = 'text';
nuevoInput.id = 'idCarac' + i;
nuevoInput.value = 'idCarac' + i;
nuevoInput.name = datoInput;
nuevoInput.size = '10';
nuevoInput.placeholder = nombre;
nuevoInput.required = 'required';
nuevoButton.type = 'button';
nuevoButton.value = '-';
nuevoButton.name = 'eliminar';
nuevoButton.onclick = function(){borra();};
function borra(){
var elimina = document.getElementById("idCarac"+i);
elimina.parentNode.removeChild(elimina+i);
}
contene.appendChild(nuevoInput) + contene.appendChild(nuevoButton) + contene.appendChild(salto);
}
function activaCampo(valor1,valor2,valor3){
var checabox = document.getElementById(valor1);
if(checabox.checked){
document.getElementById(valor2).removeAttribute('disabled', 'disabled');
document.getElementById(valor3).removeAttribute('disabled', 'disabled');
document.getElementById(valor2).setAttribute('required', 'required');
document.getElementById("btnenvia").removeAttribute('disabled', 'disabled');
}else{
document.getElementById(valor2).setAttribute('disabled', 'disabled');
document.getElementById(valor3).setAttribute('disabled', 'disabled');
document.getElementById("btnenvia").setAttribute('disabled', 'disabled');
}
}
pretendo que la función borra sea la que elimine el input especifico al que el usuario le de click con el input borrar.
al darle click al boton la consola me arroja
Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'.
Aquí mi html
Código HTML:
Ver original <input type="checkbox" id="btn1" onclick="activaCampo('btn1','tinta','tintamas')">Tinta
<input size="7" id="tinta" type="text" name="datoTinta[]" placeholder="Tinta" disabled> <input type="button" id="tintamas" value="+" onclick="addInput('datoTinta[]','Nuevo tinta','inputTinta')" disabled> <input type="checkbox" id="btn2" onclick="activaCampo('btn2','papel','papelmas')">Papel
<input size="7" id="papel" type="text" name="nombrePapel[]" placeholder="Papel" disabled> <input type="button" id="papelmas" value="+" onclick="addInput('nombrePapel[]','Nuevo papel','inputPapel')" disabled>
que me falta?
que estoy haciendo mal? :(
y disculpen si estoy haciendo una tarugada pero ojala puedan aclararme soy muy verde todavia en javascript
aqui mi ejemplo funcionando
[URL="http://codepen.io/cassini/pen/aNyjyB"]http://codepen.io/cassini/pen/aNyjyB[/URL]
Muchas gracias por tu ayuda!