Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Ñ y espacios en Firefox

Estas en el tema de Ñ y espacios en Firefox en el foro de Frameworks JS en Foros del Web. Hola, he probado un script de zaqpz, y el problema esta en q solo me funciona bien en IE ya que tengo una opcion del ...
  #1 (permalink)  
Antiguo 04/10/2006, 12:11
Avatar de yesik  
Fecha de Ingreso: octubre-2004
Ubicación: Orense
Mensajes: 292
Antigüedad: 19 años, 6 meses
Puntos: 1
Mensaje Ñ y espacios en Firefox

Hola, he probado un script de zaqpz, y el problema esta en q solo me funciona bien en IE ya que tengo una opcion del select principal q es A coruña y en los otros navegadores no me trae su array dependiente??

Bueno aki lo veis

Código HTML:
http://www.inmueblevirtual.net/manu/select_dependientes.php
__________________
Inmuebles de Galicia:: www.inmueblevirtual.net
Compartir piso Galicia:: www.inmueblevirtual.net/foro
  #2 (permalink)  
Antiguo 04/10/2006, 12:35
Avatar de ikhuerta  
Fecha de Ingreso: octubre-2006
Mensajes: 104
Antigüedad: 17 años, 7 meses
Puntos: 0
Buenas

Creo que el fallo viene dado porque como tu dices pasas la ñ sin tocarla antes...


la función encodeURI te permite transformar automaticamente los caracteres raros en codigo para pasar por direccion.

podrías hacer:

Código:
ajax.open("GET", "select_dependientes_proceso.php?seleccionado="+encodeURI(valor), true);
a ver si se soluciona...


Otra cosa,

Es posible que en un futuro rellenar los combos con innerHTML te de problemas... será mejor que generes el contenido cargandolo como responseXML o bien que lo construyas con createElement y appendChild
  #3 (permalink)  
Antiguo 05/10/2006, 02:00
Avatar de yesik  
Fecha de Ingreso: octubre-2004
Ubicación: Orense
Mensajes: 292
Antigüedad: 19 años, 6 meses
Puntos: 1
nada con encodeURI lo unico q ocurre es q tpc va en IE,, pq dices q puede dar problemas el innerHTML?? si obtengo un response XML lo puedo meter directamente en el combo??,

Gracias
__________________
Inmuebles de Galicia:: www.inmueblevirtual.net
Compartir piso Galicia:: www.inmueblevirtual.net/foro
  #4 (permalink)  
Antiguo 05/10/2006, 04:21
Avatar de ikhuerta  
Fecha de Ingreso: octubre-2006
Mensajes: 104
Antigüedad: 17 años, 7 meses
Puntos: 0
Mira... para ahorrarnos mas problemas simplemente elimina la Ñ del value.

Tu puedes mostrar A Coruña como el combo pero que su value sea A_coruna no?

Si quieres jugar con variables de formulario bien llamadas quizás seria mejor que aprendieses a lanzar ajax con post en vez de con get que te dará menos problemas al poder definir tu Charset en un header.

En cuanto a cargar combos ppor innerHTML a mi me ha dado problemas en firefox pues no mostraba los resultados... Lo que hice fue cargar directamente el Los options como un archivo xml y cargarlo por responseXML

después simplemente tienes que buscar tu select por id y unirlo con appendChild

document.getElementById("").appdenChild(ob_xhr.res ponseXML);
  #5 (permalink)  
Antiguo 05/10/2006, 05:10
Avatar de yesik  
Fecha de Ingreso: octubre-2004
Ubicación: Orense
Mensajes: 292
Antigüedad: 19 años, 6 meses
Puntos: 1
Como es eso de aprender a enviarlo por post?? no se lanzan igual?? donde puedo leer algo sobre eso? Gracias

X cierto el link al ej es::
http://www.inmueblevirtual.net/ajax/ajaxprovincias.php
__________________
Inmuebles de Galicia:: www.inmueblevirtual.net
Compartir piso Galicia:: www.inmueblevirtual.net/foro
  #6 (permalink)  
Antiguo 05/10/2006, 05:26
Avatar de ikhuerta  
Fecha de Ingreso: octubre-2006
Mensajes: 104
Antigüedad: 17 años, 7 meses
Puntos: 0
jejeje pues mucha diferencia no hay la verdad :P

Pero vamos tu haces un get usando variables...

lo suyo sería que lo enviases por post y en el send indicases los argumentos en cadena del envio.

La gracia es que cuando usas el encodeURI y luego

setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=LO_QUE_USES);

Te aseguras de que envias bien los caracteres.

En webintenta.com (no se si se escribe asi, yo la leo por rss) vi hace poco una explicación sobre el tema.
  #7 (permalink)  
Antiguo 05/10/2006, 05:28
Avatar de yesik  
Fecha de Ingreso: octubre-2004
Ubicación: Orense
Mensajes: 292
Antigüedad: 19 años, 6 meses
Puntos: 1
ya q estamos y para dar la lata un poco mas.. lo estub intentando con XML
pero me dice interfaz no compatible?? es asi??

var xmlDoc = ajax.responseXML;
document.getElementById("fila_2").appendChild(xmlD oc);
__________________
Inmuebles de Galicia:: www.inmueblevirtual.net
Compartir piso Galicia:: www.inmueblevirtual.net/foro
  #8 (permalink)  
Antiguo 05/10/2006, 05:50
Avatar de ikhuerta  
Fecha de Ingreso: octubre-2006
Mensajes: 104
Antigüedad: 17 años, 7 meses
Puntos: 0
Mensaje

creo que si...

lo que pasa es que tienes que mandarle un fichero xml no texto a lo bestia

los ficheros xml empiezan por definirse a si mismos

<?xml version = '1.0' encoding = 'iso-8859-1'?>

o

<?xml version = '1.0' encoding = 'utf-8'?>

Y tienen que ser validos con todas las etiquetas abiertas o cerradas...

vamos que

<?xml version = '1.0' encoding = 'iso-8859-1'?>
Hola!

no es valido


<?xml version = '1.0' encoding = 'iso-8859-1'?>
<MI_COMENTARIO>HOLA</MI_COMENTARIO>

si que lo sería.


en este caso... si no me equivoco (buf, lo tengo un poco lejano) seria algo asi como

<?xml version = '1.0' encoding = 'iso-8859-1'?>
<option value="la_coruña">A Coruña</option>
<option...

Aunque ahora no recuerdo si el standat te obligaba a que todo estubiese contenido en solo una etiqueta...

es decir.

<?xml version = '1.0' encoding = 'iso-8859-1'?>
<XML>
<option value="la_coruña">A Coruña</option>
<option...
</XML>

En ese caso luego para unirlo necesitarias hacer algo asi...

var xmlDoc = ajax.responseXML;
var options=xmlDoc.getElementsByTagName("option");

for (var i=0; i<options.length; i++)
{
document.getElementById("fila_2").appendChild(opti ons[i]);
}
  #9 (permalink)  
Antiguo 06/10/2006, 02:15
Avatar de yesik  
Fecha de Ingreso: octubre-2004
Ubicación: Orense
Mensajes: 292
Antigüedad: 19 años, 6 meses
Puntos: 1
bueno gracias x tus indicaciones, al final he optado por cambiar el valor directamente en el select y continuar con el response text un detalle.. a qe te refieres cuando me dices::
Es posible que en un futuro rellenar los combos con innerHTML te de problemas...

Gracias de nuevo
__________________
Inmuebles de Galicia:: www.inmueblevirtual.net
Compartir piso Galicia:: www.inmueblevirtual.net/foro
  #10 (permalink)  
Antiguo 07/10/2006, 05:37
Avatar de ikhuerta  
Fecha de Ingreso: octubre-2006
Mensajes: 104
Antigüedad: 17 años, 7 meses
Puntos: 0
Bueno, en mi experiencia particular me he encontrado varias veces con varios errores al trabajar con innerHTML y formularios.

Por ejemplo, puedes encontrarte que cargar partes del formulario enteras mediante ajax la cosa no vaya bien(por ejempo al seleccionar un checkbox cargar varios inputs y textareas para que se complete más info). Los campos nuevos dependiendo del navegador y el formulario en si mismo puenden no enviarse como form y tener que añadirlos luego llamando a cada id nueva.

Así hay muchos ejemplos...

En el caso de los combos creo que el problema se daba al insertar dentro de un select por innerHTML los options a lo bestia...

es decir.

yo tengo:

<select id="miselect"><option value="">Seleccione</option></select>

y quiero cargarle dentro los options.

Probando con cargar con ajax y luego:

document.getElementById("miselect").innerHTML=XHTo bj.responseText;

En ocasiones (no siempre, el problema es que no se porque a veces si y a veces no) incluye el texto dentro de la etiqueta si... pero no detecta los options como tales y no puedes seleccionarlos.

Aki por ejemplo: http://www.parabebes.com

tube que crear el option que dijese "cargando" dentro del combo por DOM con createElement("option") porque si no en firefox no salia "cargando"...

Mientras no te pase quedate trankilo... ahora cuando veas problemas la mayor parte de las veces se solucionarán creadno los elementos por DOM y pasando del innerHTML.
  #11 (permalink)  
Antiguo 08/10/2006, 00:50
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Cita:
Iniciado por yesik Ver Mensaje
Como es eso de aprender a enviarlo por post?? no se lanzan igual?? donde puedo leer algo sobre eso? Gracias
Puedes leer las diferencias en http://www.forosdelweb.com/f127/open-get-post-391004/

Sobre los caracteres especiales el tema es que el objeto XMLHttpRequest trabaja con la codificación UTF-8 y debes ser cuidadoso tanto al recibir información con el objeto como al enviarla. Un buen artículo al respecto lo puedes encontrar en http://php.apsique.com/ajax/utf8.

Saludos.
__________________
R4DS en español | R4DS en inglés

Última edición por zaqpz; 08/10/2006 a las 01:04
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:48.