Ver Mensaje Individual
  #9 (permalink)  
Antiguo 08/08/2010, 13:04
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: Error javascript + envio

solo por curiosidad. ¿en que navegador te produce error con la leta ñ? en mi investigacion, no veo como la eñe pudo haber sido el error. me explico. en el HTML DTD -indistintamente del nivel strict o loose- el atributo name del elemento <input> es de tipo CDATA, lo que significa que el valor del atributo puede contener cualquier caracter de acuerdo a la sintaxis impuesta por html. es decir, caracteres como & < > no pueden ser utilizados porque tienen un significado especial. la eñe no tiene ningun significado por lo que se puede emplear en valores del atributo name.

por otra parte, los script tambien pueden contener cualquier caracter -de nuevo, siguiendo las normas de la sintaxis- ya sea para nombrar identificadores (variables o funciones) o para hacer referencia a elementos. o sea, javascript no esta limitado a caracteres del alfabeto ingles o del charset ASCII. por tanto, un ruso o un japones puede escribir el codigo en su propio idioma. si es el caso, entonces por qué nosotros no podremos usar la eñe o cualquier otro caracter de nuestro alfabeto.

segun el estandar ECMAScript-262, javascript convierte internamente el codigo fuente en Unicode con la transformacion utf16 (secciones 6 y 7.6 de la 5ta edicion). por supuesto, de esto no nos fijamos porque es un proceso que sucede internamente de forma trasparente al programador. como sabran, Unicode soporta muchos sistemas lenguajes escritos -humanos- a nivel universal. de ahi la razon que javascript se pueda escribir en cualquier idioma.

en conclusion, no veo como la eñe pudo haber sido causante del problema. a no ser que el interprete javascript del navegador este basado en una antigua implementacion de ECMAScript-262 donde Unicode solo era soportado en los strings y los identificadores estaban limitado a caracteres del ASCII.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.