Foros del Web » Programando para Internet » Javascript »

Incopatibilidad en navegadores

Estas en el tema de Incopatibilidad en navegadores en el foro de Javascript en Foros del Web. Supongo que este problema habra sido discutido bastantes veces pero yo no tengo mucha idea de javascript y me gustaria q me lo explicaran para ...
  #1 (permalink)  
Antiguo 10/09/2004, 01:27
 
Fecha de Ingreso: noviembre-2003
Ubicación: Torrelodones
Mensajes: 134
Antigüedad: 20 años, 6 meses
Puntos: 0
Incopatibilidad en navegadores

Supongo que este problema habra sido discutido bastantes veces pero yo no tengo mucha idea de javascript y me gustaria q me lo explicaran para tontos
Por ejemplo utilizo un codigo javascript para verificar formularios. Este codigo va perfecto en Internet Explorer pero lo he probado en FireFox y en Netscape y no funciona . El codigo es el siguiente:

<script language="JavaScript">
<!--
function verificar()
{
if(form1.nombre.value == '')
{
alert("Debe de rellenar el campo Nombre");
form1.nombre.focus();
form1.nombre.select();
return false;
}...

}

Y lo llamo de la siguiente manera

<input type="submit" name="enviar" value="Enviar" class="botones" onClick="return verificar(this.form)">

Es por culpa del codigo o por la incopatibilidad de netscape y firefox con javascript??

Muchas gracias y un saludete
__________________
Conoce gente nueva, haz amigos, aplicaciones para moviles, juegos online,... Y todo gratis!!! :si: www.cuelate.com
  #2 (permalink)  
Antiguo 10/09/2004, 02:37
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 1 mes
Puntos: 63
Hola

Bueno, lo más importante aquí es ejar claro que ninguno de los navegadores con el motor gecko tienen «incompatibilidades» con JavaScript, basicamente, porque es «su» lenguaje. JavaScript fué creado por netscape.

Pasando al código.

Es mejor que cuando te refieras al formulario, utilices la jerarquía completa desde el document. o que uses un manejador de objetoc como el getElementById, si usas la segunda opción, recuerda asignarle una ide al formulario, por ejemplo <form id="mi_formulario">, lo mismo se aplica a cada elemento del formulario que quieras manejar de forma independiente.

Suerte

Felicidad
__________________
¡ hey, hou, hou, hey !
  #3 (permalink)  
Antiguo 10/09/2004, 03:47
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:

Geri: En la cabecera de la función te falta poner la variable que usas dentro, y por lo que veo en la llamada sería form1...

function verificar(form1)

Sobre lo que dice PatomaS (¡Hola !) para referenciar formularios, te recomiendo el primer método: darle un name al formulario y a el resto de elementos y usar la sintaxis:
document.forms[el_formulario][el_elemento].value ...ó...
document.forms[el_formulario][el_elemento][el_atributo]

Esta segunda forma no suele usarse pero describe el uso de las variables asociativas que realmente son muy prácticas.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 10/09/2004, 03:49
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Estoy completamente de acuerdo con PatomaS, aunque el manejador de elementos getElementById tiene la pega de que no está del todo reconocido por navegadores de hace relativamente poco tiempo.

La mejor manera es siguiendo toda la jerarquia.

para referirte a un elemento con name "pepe" dentro del formulario "chorlito"
Código HTML:
<form name="chorlito" action="tropecientos.html">
<input type="text" name="pepe" />
<input type="submit" value="Enviar" />
</form> 
debes poner:

Código HTML:
document.forms["chorlito"].elements["pepe"].value;
Es decir, debes decir que vaya al documento, dentro del documento al formulario llamado "chorlito" y dentro de éste a su elemento llamado "pepe" y mirar su value (su contenido).

Con este código te garantizas absoluta compatibilidad con todos los navegadores.

Como ves es fácil y sencillo.

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 10/09/2004, 03:50
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Hola caricatos!!

Dejé esta respuesta abierta y cuando me decidí a mandarla te me habías adelantado!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 10/09/2004, 04:02
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 otra vez:

KarlanKas :Lo importante es que coincidimos (más o menos) en la respuesta...

Estuve probando la segunda manera que acabo de citar y funciona muy bien.
Para el ejemplo sería:

document.forms["form1"]["nombre]["value"]
... ó...
document.forms["form1"].elements["nombre]["value"]

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 10/09/2004, 05:49
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Muy interesante como si fueran arrays bidimensionales o tridimensionales...

Pero funciona con mi querido Netscape 4.78?
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #8 (permalink)  
Antiguo 10/09/2004, 05:53
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Funciona con mi NS 4.78!!

Ejemplo:

<html>
<head>
<title>Untitled</title>
</head>

<body>
<form name="chorlito" action="tropecientos.html">
<input type="text" name="pepe" />
<input type="submit" value="Enviar" onclick="alert(document.forms['chorlito']['pepe']['value']);return false;"/>
</form>


</body>
</html>

__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #9 (permalink)  
Antiguo 10/09/2004, 06:03
 
Fecha de Ingreso: noviembre-2003
Ubicación: Torrelodones
Mensajes: 134
Antigüedad: 20 años, 6 meses
Puntos: 0
Muchisimas gracias a todos por su ayuda. Probe poniendo delante document.form1... y va a la perfeccion en todos los navegadores.

De nuevo, muchas gracias
__________________
Conoce gente nueva, haz amigos, aplicaciones para moviles, juegos online,... Y todo gratis!!! :si: www.cuelate.com
  #10 (permalink)  
Antiguo 10/09/2004, 06:09
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años
Puntos: 2
Es hora de que acabemos con NS 4.X . Yo ya no busco compatibilidad con ese navegador. No merece la pena quebrarse la cabeza por un navegador que cuenta con un ínfimo número de seguidores. En el fondo les vamos a hacer un favor si les obligamos a actualizarse . Lo mismo digo para el que use Explorer 3, así que no es cosa de "racismo". Si que hago las cosas pensando en Mozilla y Opera pero porque tienen bastante más seguidores que NS 4.x y tienen mucho crédito como navegadores.

No sé si es adecuado este post aquí pero tenía que desahogarme
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #11 (permalink)  
Antiguo 10/09/2004, 18:46
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 otra vez:

Me alegro que nuestra participación haya servido para que Geri solucione su problema...

Con respecto al comentario de living, la verdad es que yo tampoco busco esa compatibilidad, pero gusta saber que valen los códigos en muchos navegadores...

Por último decirle a KarlanKas que me había olvidado, pero ya había usado un código similar en el destripador web: http://www.pepemolina.com/DOM/destripador.html
... no recuerdo si lo había visto, pero nunca es tarde...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 15:19.