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(respuesta, id){
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 alturaDiv, alturaListado, altoFinal;
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(idCapa, idInput){
//FUNCIONA EN INTERNET EXPLORER 6
document.FormValidar.removeChild(idCapa);
var hijoInput, padreInput
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