Hola,
gracias por la respuesta, pero me parece que el atributo disabled desactiva siempre sea lo que sea que tenga entre las comillas, como si no las tiene, o al menos hace eso en mi explorador, xD
Te voy a poner el código tal y como lo tengo por el momento y luego te comento las cosas que no entiendo:
Código Javascript
:
Ver originaldocument.getElementById("Eliminar").disabled=true;
if (pos > 0) {
document.getElementById("Eliminar").disabled=false;
}
var pos=0;
function anadir(obj,boton) {
//uff
pos++;
// form=document.getElementByName("form");
form=document.getElementById("form");
//crear combo-box
sel=document.createElement('select');
sel.setAttribute("name","tipo_in" + pos);
option=document.createElement('option');
option.value="0";
option.innerHTML="(Por favor, escoja:)";
sel.appendChild(option);
option=document.createElement('option');
option.value="1";
option.innerHTML="campo1";
sel.appendChild(option);
option=document.createElement('option');
option.value="2";
option.innerHTML="campo2";
sel.appendChild(option);
option=document.createElement('option');
option.value="3";
option.innerHTML="campo3";
sel.appendChild(option);
option=document.createElement('option');
option.value="4";
option.innerHTML="campo4";
sel.appendChild(option);
option=document.createElement('option');
option.value="5";
option.innerHTML="campo5";
sel.appendChild(option);
form.appendChild(sel);
obj.insertBefore(sel,boton);
//crear text nombre
elem=document.createElement('input');
elem.setAttribute("type","text");
elem.setAttribute("size","30");
elem.setAttribute("maxlength","30");
elem.setAttribute("name","nombre_in" + pos);
form.appendChild(elem);
obj.insertBefore(elem,boton);
//crear text apellido1
elem=document.createElement('input');
elem.setAttribute("type","text");
elem.setAttribute("size","30");
elem.setAttribute("maxlength","30");
elem.setAttribute("name","apellido1_in" + pos);
form.appendChild(elem);
obj.insertBefore(elem,boton);
//crear text apellido2
elem=document.createElement('input');
elem.setAttribute("type","text");
elem.setAttribute("size","30");
elem.setAttribute("maxlength","30");
elem.setAttribute("name","apellido2_in" + pos);
form.appendChild(elem);
obj.insertBefore(elem,boton);
//crear salto de linea
elem=document.createElement('br');
obj.insertBefore(elem,boton);
}
function eliminar() {
// form=document.getElementByName("form");
form=document.getElementById("form");
kill=document.getElementByName("tipo_in" + pos);
form.removeChild(kill);
kill=document.getElementByName("nombre_in" + pos);
form.removeChild(kill);
kill=document.getElementByName("apellido1_in" + pos);
form.removeChild(kill);
kill=document.getElementByName("apellido2_in" + pos);
form.removeChild(kill);
pos--;
}
Código HTML:
Ver original<form action="llega.php" name="form" id="form" method="post"> <input type="button" value="Añadir" onClick="anadir(this.form,this)"/>
<input type="button" value="Eliminar" id="Eliminar" onClick="eliminar()"/> <input type="submit" value="Enviar" onClick="enviar()"/>
De entrada, así como está el botón añadir cumple con su función
No entiendo porque no funciona el getElementByName("form"), es decir no deja ejecutar la función del botón, y si parece funcionar el getElementById("form")
Claro que si las cosas son como parecen la función eliminar() debería funcionar y no lo hace.
Lo que tampoco me sale es tener desactivado el botón eliminar de primeras o si mi contador es 0. Esto he pensado que debería ser así para que no me hagan pulsaciones en eliminar y me pongan el valor del contador en negativo; por que si luego añaden un campo este será negativo. Porque yo tengo que recoger luego los datos desde 0 hasta el valor de pos. Bueno... que eso es otra cosa que me trae de cabeza...
Gracias!