Foros del Web » Programando para Internet » Javascript »

Script que no funciona en IE

Estas en el tema de Script que no funciona en IE en el foro de Javascript en Foros del Web. Hola, tengo una pagina con unos checkboxes y cada uno con un formulario "file" inicialmente oculto, y quiero que al seleccionar el checkbox, se muestre ...
  #1 (permalink)  
Antiguo 01/08/2008, 05:22
Avatar de neandertal  
Fecha de Ingreso: enero-2008
Ubicación: Barcelona
Mensajes: 79
Antigüedad: 16 años, 3 meses
Puntos: 1
Script que no funciona en IE

Hola, tengo una pagina con unos checkboxes y cada uno con un formulario "file" inicialmente oculto, y quiero que al seleccionar el checkbox, se muestre el formulario oculto que tiene al lado, para eso he hecho el siguiente codigo:

Código:
function mostrar(oculto,checkbox)
{
if(document.form1[checkbox].checked==true)
    {
    document.form1[oculto].type="file";
    }
if(document.form1[checkbox].checked==false)
    {
    document.form1[oculto].type="hidden";
    }    
}
El problema es que me funciona bien en FF pero no en IE, si alguien me pudiera ayudar se lo agradeceria mucho.
  #2 (permalink)  
Antiguo 01/08/2008, 06:28
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Script que no funciona en IE

Hola

Prueba así

Código PHP:
var ns6 = (document.getElementById)? true:false
var ie4 = (document.all)? true:false
var ns4 = (document.layers)? true:false
function captura_objecto(idnombre) {
    if (
ns6)
    {
    return 
document.getElementById(idnombre);
    }
    else if (
ie4)
    {
    return 
document.all[idnombre];
    }
    else if (
ns4)
    {
    return 
document.layers[idnombre];
    }
    else
    {
    return 
null;
    }
}



function 
mostrar(oculto,checkbox)
obj captura_objecto(checkbox);
tipo =  captura_objecto(oculto);
{
if(
obj.checked==true)
    {
    
tipo.type="file";
    }
if(
obj.checked==false)
    {
    
tipo.type="hidden";
    }    

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 01/08/2008, 07:08
Avatar de neandertal  
Fecha de Ingreso: enero-2008
Ubicación: Barcelona
Mensajes: 79
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Script que no funciona en IE

Gracias por la respuesta pero lo he probado y me sale "obj is null"
además no acabo de entender lo que haces aqui:
Código:
var ns6 = (document.getElementById)? true:false
var ie4 = (document.all)? true:false
var ns4 = (document.layers)? true:false
Y creo que el problema esta en que no entra en ninguno de los condicionales y la función devuelve null, pero no se como solucionarlo.
  #4 (permalink)  
Antiguo 01/08/2008, 11:40
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Script que no funciona en IE

Hola

Prueba cambiando

Cita:
function mostrar(oculto,checkbox)
obj = captura_objecto(checkbox);
tipo = captura_objecto(oculto);
{
por

Cita:
function mostrar(oculto,checkbox) {
obj = captura_objecto(checkbox);
tipo = captura_objecto(oculto);
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:05.