Foros del Web » Programando para Internet » Javascript »

Qué navegadores soportan DOM

Estas en el tema de Qué navegadores soportan DOM en el foro de Javascript en Foros del Web. Hola a todos, No sé si la pregunta está bien formulada, mas creo que se entiende lo que quiero decir. Alguien sabe dónde o cómo ...
  #1 (permalink)  
Antiguo 15/02/2005, 15:53
 
Fecha de Ingreso: enero-2005
Mensajes: 34
Antigüedad: 19 años, 3 meses
Puntos: 1
DOM y Javascript (validar formulario)

Hola a todos,

No sé si la pregunta está bien formulada, mas creo que se entiende lo que quiero decir. Alguien sabe dónde o cómo comprobar si un determinado navegador tiene soporte para DOM.

El caso es que estoy probando un código en el IExplorer 6 y en el Mozilla Firefox 1.0 y lo que en el IE funciona, no lo hace en el Mozilla.

El código es el que sigue (obtenido de http://www.tierradenomadas.com) ::

function chequearFORM(elmFORM) {
var Chequeo = 1;
var cnjFORM = elmFORM.elements;
for (var i=0; i<cnjFORM.length; i++) {
if (cnjFORM[i].className=='Requerido') {
Chequeo &= (cnjFORM[i].value.length > 0);
}
}
if (Chequeo==0) alert('¿No falta rellenar algo?');
return (Chequeo==1);
}

que se llama al ejecutar un fomrulario tal que así ::

<form action="javascript:chequearForm(form1);" method="post" name="form1" id="form1">

un saludo

Última edición por andreusup; 18/02/2005 a las 09:33
  #2 (permalink)  
Antiguo 16/02/2005, 07:35
Avatar de kemie  
Fecha de Ingreso: junio-2003
Ubicación: estocolmo<-->mexico
Mensajes: 1.627
Antigüedad: 20 años, 10 meses
Puntos: 1
if (document.getElementById) es una buena prueba, aunque creo (no estoy segura) que IE5 soporta getelementbyid pero no todo el DOM
__________________
::::::::::::::::::::::::::::: WebHostNinja | diseñorama.com::::::::::::::::::::::::::::::
  #3 (permalink)  
Antiguo 17/02/2005, 13:18
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Creo que el hecho de que funcione en IE no es ningún indicador con respecto al DOM; IE tiene muchas instrucciones propias y peculiaridades.
Para empezar,yo añadiría unas comillas:
Código:
<form action="javascript:chequearForm('form1');" method="post" name="form1" id="form1">
a ver si se arregla.
De hecho, no hace falta poner el nombre, vale de forma más general:
Código:
<form action="javascript:chequearForm(this);" method="post" name="form1" id="form1">
__________________
Angel :cool:
  #4 (permalink)  
Antiguo 17/02/2005, 13:59
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola a todos:

Creo que el DOM no lo soportan correctamente ningún navegador, aunque me arriesgaría a afirmar que el mejor soporte lo tiene mozilla...
Explorer no soporta addEventListener, y opera tiene una implementación muy mala (la gestión de los nodos creo que es la peor)

Particularmente suelo probar mis páginas en los 3 más importantes (baje windows, que es el SO que tengo), y donde mejor suelen funcionar es -como dije antes- con mozilla.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 18/02/2005, 09:33
 
Fecha de Ingreso: enero-2005
Mensajes: 34
Antigüedad: 19 años, 3 meses
Puntos: 1
hola y gracias por vuestras ayudas...

de todos modos todavía no funciona el código en niguno de los 2 navegadores. Parece que el problema es que la variable cnjFORM (que es un HTMLCollection) no se carga con nada ... y el formulario sí tiene elementos

He probado con...
<form action="javascript:chequearForm(form1);" method="post" name="form1" id="form1">
<form action="javascript:chequearForm('form1');" ... >
<form action="javascript:chequearForm(this);" ... >

pero de ninguna manera funciona. La función sí se ejecuta pues sí imprime un mensaje... el problema viene de que no carga en cnjFORM los elementos del formulario,

seguiré intentándolo

hasta luego


PD: He cambiado el título del mensaje para ser más descriptivo; ahora me doy cuenta de que el lugar de este post es el foro de Javascript, pero por no duplicar mensajes... estoy a la espera de que el moderador lo mueva,
  #6 (permalink)  
Antiguo 18/02/2005, 10:55
 
Fecha de Ingreso: enero-2005
Mensajes: 34
Antigüedad: 19 años, 3 meses
Puntos: 1
hola, les cuento cómo lo he solucionado

en el código de la función he cambiado la parte en negrita...
function chequearFORM(elmFORM) {
var Chequeo = 1;
var cnjFORM = elmFORM.elements;
for (var i=0; i<cnjFORM.length; i++) {
if (cnjFORM[i].className=='Requerido') {
Chequeo &= (cnjFORM[i].value.length > 0);
}
}
if (Chequeo==0) alert('¿No falta rellenar algo?');
return (Chequeo==1);
}

por...
...
var cnjFORM = document.getElementById(elmFORM).elements;
...

y la llamada sería algo como...
<form action="javascript:chequearForm('form1');" method="post" name="form1" id="form1">

en este caso el parámetro que se le pasa es el id del formulario, por lo que debe ir entrecolmillado: 'form1',

No he encontrado manera de hacer lo mismo pero pasándole como parámetro this, si alguien lo hace le agradezco que lo diga...

saludos
  #7 (permalink)  
Antiguo 18/02/2005, 13:54
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
En efecto, a las referencias al formulario les faltaba document, y "this" no funciona en "action".

Por lo que he probado (Firefox1 e IE6), funciona de varias formas, además de la que has puesto; mira a ver cuál te conviene más:
1)
Código PHP:
<form action="javascript:chequearFORM(document.form1);" method="post" name="form1"
con
Código PHP:
var cnjFORM elmFORM.elements
2)
Código PHP:
<form onSubmit="chequearFORM(this)" method="post"
con
Código PHP:
var cnjFORM elmFORM.elements
En el caso (2) el formulario no necesita nombre ("name" ni "id"), aunque se le puede poner. No entiendo de envío de formularios, por lo que no sé si hay diferencia entre el método "action" y el "submit".
__________________
Angel :cool:
  #8 (permalink)  
Antiguo 13/01/2006, 15:05
Avatar de orochies  
Fecha de Ingreso: septiembre-2003
Ubicación: Guatemala
Mensajes: 260
Antigüedad: 20 años, 7 meses
Puntos: 2
kusor.net

Hola compañeros buscando por allí me encontre con esta página que muestra los codigos DOM soportados por los navegadores y sus equivalentes...

Para darme a entender sera mejor que le hechen un vistaso a la página:
Código:
http://kusor.net/traducciones/brainjar.es/introdom1.es.html
Y tambien la Introducción al Modelo de Eventos del DOM:
Código:
http://kusor.net/traducciones/brainjar.es/events1.es.html
_Un saludo...
__________________
QMD...
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 05:01.