La duda surge así: Tengo una función que recibe el nombre/id de un formulario, esta función lo primero que hace es verificar si ese formulario existe por el id, si no es así, verifica si existe por name, el hecho es que en FF, si no existe por id, es decir, si no tiene ese atributo con el nombre que se le pasó por parámetro, busca el atributo name con el nombre que se le pasó. Bárbaro, en FF funciona OK, pero en IE , resulta que aunque no haya ningún elemento con el id que se le pasó por parametro, este no da falso, es decir, no sigue adelante con la función, es como si encontrara algo con ese id, aunque no es así, no da falso, undefined, null, nada..!!!!
Aquí va el código y los resultados según cada navegador:
Código:
Al llamar a la función: obtenerEventos("form_prueba")function obtenerEventos(formulario) { var elemento = document.getElementById(formulario); if(!elemento) { formulario = eval('document.'+formulario); texto = "El nombre del Formulario es "+formulario.name; } else { formulario = document.getElementById(formulario); texto = "El ID del Formulario es "+formulario.id; alert(elemento.width); } alert(texto); }
En FIREFOX como debe ser, el resultado es una alerta que dice:
"El nombre del Formulario es form_prueba"lo que está bien, ya que el formularlio no tiene id, sino name="form_prueba"
Pero resulta que IE me da como resultado una alerta que dice:
"El ID del Formulario es "Es decir que no encuentra el formulario con ese id, pero no me da como que no existe, sino como que existe...
Alguien podría ayudarme??? No se si me explique bien, intenté hacerlo
Desde ya muchas gracias a todos!