Ver Mensaje Individual
  #10 (permalink)  
Antiguo 27/11/2009, 02:19
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Validar formulario

Cita:
Me estais diciendo que si yo me creo un formulario y le pongo de id "formulario" habrá conflicto con una variable que nadie ha creado y que se llama formulario???
tecnicamente es correcto. habra conflicto porque es algo que solo hace iexplorer. el elemento en particular no importa. sucede que el estandar no indica que los IDs deben ser variables en javascript. eso fue algo que inicialmente se invento microsoft. lo curioso es que los navegadores actuales (firefox, safari 4/win32, chrome2, netscape9, flock, opera10) tambien crean dichas variables, quizas lo hicieron asi para adaptarse a los programadores que tienen esa costumbre. si por ejemplo vez la consola de errores en navegadores basados en gecko (firefox, netscape, flock) veras que te indica el siguiente aviso.
Cita:
Warning: Element referenced by ID/NAME in the global scope. Use W3C standard document.getElementById() instead.
puedes intentar el siguiente codigo en diferentes navegadores, y de paso verifica la consola de errores en los navegadores, no todos te marcaran el aviso.
Código:
<div id="elementodiv"></div>
<script>
alert(elementodiv);
</script>
el problema se puede hacer mayor si los fabricantes de navegadores deciden no soportar dicha tecnica.

edit @ 3:28 DST -5 GMT,
me olvide añadir, el problema se hace mas evidente cuando el documento se analiza con algun DOCTYPE. mira por ejemplo que sucede en firefox cuando cargas el siguiente documento, pero sorprendentemente en otros navegadores si funciona, incluyendo flock y netscape.
Código:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Test Development</title>
<script type='text/javascript'>
onload = function(){
alert(who)
}
</script>
<style type='text/css'>

</style>
</head>

<body>
<div id="who"></div>
</body></html>
el alerta no se muestra y la consola de error solo dice que la variable who no esta definida. o sea, esta vez no te avisa que la forma estandar es con getElementById. por eso nunca es aconsejable utilizar los IDs como variables sin definir.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 27/11/2009 a las 02:28