Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2010, 06:58
molinos
 
Fecha de Ingreso: enero-2009
Mensajes: 23
Antigüedad: 16 años
Puntos: 0
borrar div dinamicamente

Hola!, os esplico mi problema.
Tengo un formulario y en el un checkbox:

Código HTML:
<input name="estilo" onclick="num89++;crear5(this)" type="checkbox" value="" /> 
Al hacer click en el llamo a crear 5 y esta funcion lo que hace es:
1.- comprueba que num89 sea impar, para saber que el check esta checkeado.
2.-crea un select, un text area un boton añadir y un boton borrar en un div llamado fiel5.
3.- en el caso de que num89 sea par (osea se deselecciona el checkbox), se borran los nuevos elementos.

El problema es solo el paso 3, el resto funciona.

Código:
  function crear5(obj) {

	if(num89%2 == 1) {       /*paso 1*/
		if (num5 <= 9) {
   			num5++;
  			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;crear5(this);num89=2} 
		  	contenedor5.appendChild(ele5);
		  	ele5 = document.createElement('input');
		  	ele5.type = 'button'; 
		  	ele5.value = 'Borrar';
		  	ele5.name = 'div'+num5; 
		  	ele5.className ='impCol';
		  	ele5.onclick = function () {borrar5(this.name)} 
		  	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 if(num89%2 == 0) {                  /*paso 3 donde se encuentra el error*/
  		var i ;
 		for (i=0;i<=num5;i++) {
   			fi5 = document.getElementById('fiel5'); 
  			fi5.removeChild(document.getElementById('div'+num5));
		}
	
	} 
}
function borrar5(obj) {
	num5--;
        fi5 = document.getElementById('fiel5');  
        fi5.removeChild(document.getElementById(obj)); 
}
Supongo que debo estar haciendo algo mal o muy mal, pues en js soy bastante novato y ando algo perdido.
Gracias de antemano por la ayuda!