Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/02/2010, 08:24
molinos
 
Fecha de Ingreso: enero-2009
Mensajes: 23
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: borrar div dinamicamente

Para empezar gracias por esto:

Cita:
if (obj.checked)
sabia que tenia que poder hacerse de otra forma pero no daba con ello.

Funcionar funciona, borra uno(se lia un poco con el tema de borrarlos y añadirlos si lo haces mucho pero creo q usando el obj,checked eso lo solucionare rapido), el tema es que quiero que borre todos los elementos añadidos no solo el último, de ahí que use un for. Ese es realmente el problema.

Edito....
asi queda con tu linea, soluciona algun fallo que tenia, pero sigue siendo lo mismo solo borra el último, tambien he observado que solo borra tras haber añadido, pero no tras borrar uno, solo coge la última id creada.

Además borra uno, pero firebug me tira error tras borrar, aunque sigue funcionando pero me dice que en la linea: fi5 = document.getElementById('fiel5'); /*aqui*/ hay un invalid pointer

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
var num89=0;
var num5=0; 
  function crear5(obj) {
	if((obj.checked) || (num89 ==1)) {       /*paso 1*/
		if (num5 <= 9) {
     			fi5 = document.getElementById('fiel5');         /*paso 2*/
  			contenedor5 = document.createElement('div'); 
  			contenedor5.id = 'div'+num5; 
  			fi5.appendChild(contenedor5);
			ele5 = document.createElement('select'); 
			ele5.className = 'impCol';
  			ele5.length = 4;
  			variable = new Option("Ser","0");
		  	ele5.options[0] = variable;
		  	variable = new Option("Ser1","1");
		  	ele5.options[1] = variable;
		  	variable = new Option("Ser2","2");
		  	ele5.options[2] = variable;
		  	variable = new Option("ser3","3");
		  	ele5.options[3] = variable; 
		  	contenedor5.appendChild(ele5);
		  	ele5 = document.createElement('input');
		  	ele5.type = 'button'; 
		  	ele5.value = 'Añadir';
		  	ele5.name = 'div'+num5; 
		  	ele5.className ='impCol';
		  	ele5.onclick = function () {num89=1;num5++;crear5(this);num89=0} 
		  	contenedor5.appendChild(ele5);
		  	ele5 = document.createElement('input');
		  	ele5.type = 'button'; 
		  	ele5.value = 'Borrar';
		  	ele5.name = 'div'+num5; 
		  	ele5.className ='impCol';
		  	ele5.onclick = function () {num89=1;borrar5(this.name);num89=0} 
		  	contenedor5.appendChild(ele5); 
		  	ele5 = document.createElement('textarea'); 
		  	ele5.className = 'impCol';
		  	ele5.cols =100;
		  	ele5.rows	= 4;
		  	ele5.maxlength =2000;
		  	contenedor5.appendChild(ele5);
 		}else{
 			alert('maximo de 10 servidores');
 		}	
 	}else  {                  /*paso 3 donde se encuentra el error*/
  		var i ;
 		for (i=0;i<=num5;i++) {
   			fi5 = document.getElementById('fiel5');  /*aqui*/
  			fi5.removeChild(document.getElementById('div'+num5));
		}
	
	} 
}
function borrar5(obj) {
	num5--;
        fi5 = document.getElementById('fiel5');  
        fi5.removeChild(document.getElementById(obj)); 
}
</script>
</head>
<body>
<input name="estilo" onclick="num89++;crear5(this)" type="checkbox" value="" />
<div id="fiel5"></div>
</body>
</html> 

Última edición por molinos; 08/02/2010 a las 08:55