Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/05/2010, 14:33
valdevespi
 
Fecha de Ingreso: mayo-2006
Mensajes: 154
Antigüedad: 18 años, 6 meses
Puntos: 0
Borrar input y div

Hola gente,

Estoy realizando una web, de encuestas, por medio de un formulario creo la pregunta y la mando a una nueva pagina en la con un autocompletado selecciono las posibles respuestas para esa pregunta.

Cada pregunta es un enlace que al hacer click genera un div con el texto de la respuesta y un input type="hidden" en un formulario.

El problema llega a la hora de querer borrar alguna respuesta, osea su div y su input.

Para crear la capa y el input cree esta funcion y me funcionan tanto en firefox como en explorer.

Código PHP:
     function anadir(respuestaid){
      var 
capa document.createElement('div');
      var 
idCapa 'capa'+id
      
capa.height '10';//ALTO DE LA CAPA
      
capa.id idCapa;//IDENTIFICADOR QUE LE DAMOS A LA CAPA
      
capa.style.border='1px solid #ff0000';
      
capa.innerHTML respuesta "<a href='#' onclick='borrar("+idCapa+","+id+");' align='right'>Borrar</a>";
      var 
inputId document.createElement('input');
      
inputId.type 'hidden';//TIPO DE INPUT QUE CREAMOS
      
inputId.size '50';//TAMAÑO DEL INPUT
      
inputId.name id;//NOMBRE DEL INPUT DENTRO DEL FORMULARIO
      
inputId.value id;//VALOR QUE INSERTAMOS EN EL INPUT TEXT
      
inputId.id id;//IDENTIFICADOR DE LA CAPA
      
document.FormValidar.appendChild(capa);//AÑADIMOS LA CAPA AL FORMULARIO
      
document.FormValidar.appendChild(inputId);//AÑADIMOS EL NUEVO INPUT
    
}

     function 
desactivar(id){
      var 
miCapa 'ln'+id;//GUARDAMOS EL IDENTIFICADOR DEL DIV A DESACTIVAR
      
var alturaDivalturaListadoaltoFinal;
      
alturaDiv=document.getElementById(id).offsetHeight;
      
alturaListado=document.getElementById("listado").offsetHeight;
      
altoFinal=alturaListado-alturaDiv;
      
document.getElementById(miCapa).style.height='0px';
      
document.getElementById(miCapa).style.visibility='hidden';
      
document.getElementById(miCapa).style.display='none';
     
     
    } 
Eso me lo hace bien, lo malo es que en la capa que creo le paso de contenido un enlace que llama a la funcion borrar en la que le paso el id de la capa y el id del input, pero estos solo me los borran en internet explorer

Código PHP:
function borrar(idCapaidInput){
     
//FUNCIONA EN INTERNET EXPLORER 6
     
document.FormValidar.removeChild(idCapa);
     var 
hijoInputpadreInput
     hijoInput 
document.getElementById(idInput);
     
padreInput hijoInput.parentNode;
     
padreInput.removeChild(hijoInput);
     
     } 
No se, algo estoy haciendo mal seguro, pero me parece raro que en explorer si funcione y en firefox no.

Espero que alguna persona, casi cualquiera pueda ayudarme ya que mis conocimientos sobre javascript son basicos.


Saludos y gracias de antemano