Foros del Web » Programando para Internet » Javascript »

Problema con letra ñ en Internet Explorer 7

Estas en el tema de Problema con letra ñ en Internet Explorer 7 en el foro de Javascript en Foros del Web. Saludos a todos los del foro. El problema es el siguiente: hice una pequeña pagina web en java (jsp), en la cual tengo dos formularios. ...
  #1 (permalink)  
Antiguo 02/06/2008, 15:07
 
Fecha de Ingreso: febrero-2008
Mensajes: 33
Antigüedad: 16 años, 2 meses
Puntos: 0
Problema con letra ñ en Internet Explorer 7

Saludos a todos los del foro.

El problema es el siguiente: hice una pequeña pagina web en java (jsp), en la cual tengo dos formularios. El problema esta en el formulario de inicio de sesion, en el cual tengo dos campos: Nombre de usuario y el otro Password. El campo del Password lo tengo validado con javascript para que si esta vacio me mande una alerta diciendo que "La contraseña no debe de quedar vacia".

A la hora de correr el programa y haciendo prueba dejando vacio el campo del Password, sale la alerta que estableci pero no reconoce la letra "ñ", en lugar de ella pone un caracter raro.
Pero esto pasa porque la codificacion del Internet Explorer la tengo como Europeo Occidental (ISO), esto yo lo estabeci en el programa de java para que en mi otro formulario que tengo pueda guardar registros con letra "ñ".
Ejemplo:

<%@page contentType="text/html" pageEncoding="latin1"%>

Si cambio esto a la codificacion UTF-8

<%@page contentType="text/html" pageEncoding="UTF-8"%>

Todo funciona perfectamente en el formulario de inicio de sesion.
Pero no quiero dejar esa codificacion porque afecta a mi otro formulario, ya que al guardar regsitros que lleven la letra "ñ", la base de datos no reconoce tal letra y pone en su lugar en caracter raro.

Esta es el codigo de javascript que tengo para validar el campo de Password en el formulario de inicio de sesion.

function solo_index(e) {
if (document.form1.no_control.value== "") {
alert("El numero de control esta vacio");
document.form1.no_control.focus(); /
return false;
}
if (document.form1.clave.value== "") {
alert("La contraseña esta vacia");
document.form1.clave.focus();
return false;
}
  #2 (permalink)  
Antiguo 03/06/2008, 02:00
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
Respuesta: Problema con letra ñ en Internet Explorer 7

Prueba así:

function solo_index(e) {
if (document.form1.no_control.value== "") {
alert("El numero de control esta vacio");
document.form1.no_control.focus(); /
return false;
}
if (document.form1.clave.value== "") {
alert("La clave esta vacia");
document.form1.clave.focus();
return false;
}
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 03/06/2008, 13:17
 
Fecha de Ingreso: febrero-2008
Mensajes: 33
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Problema con letra ñ en Internet Explorer 7

Gracias por la respuesta.
Me va a sacar de apuro para presentar la pagina web. Pero supongo que debe de haber una forma para que me acepte la letra ñ. Voy a seguir buscandole de igual manera.
  #4 (permalink)  
Antiguo 03/06/2008, 13:29
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
Respuesta: Problema con letra ñ en Internet Explorer 7

Mira, pues investigando he hecho este script:
Código:
letras=["á","é","í","ó","ú","Á","É","Í","Ó","Ú","ñ","Ñ"]
unicode=["\u00e1","\u00e9","\u00ed","\u00f3","\u00fa","\u00c1","\u00c9","\u00cd","\u00d3","\u00da","\u00f1","\u00d1"]

function aUnicode(esto){
	aquello="";
	for(a=0;a<esto.length;a++){
		for(b=0;b<letras.length;b++){
			if(esto.charAt(a)==letras[b]){
				aquello+=unicode[b];
				break;
			}
			
		}
		
		if(b==letras.length){
			aquello+=esto.charAt(a);
		}
	}
	return aquello
}
Si lo aplicamos a tu código sería:
Código:
function aUnicode(esto){
	aquello="";
	for(a=0;a<esto.length;a++){
		for(b=0;b<letras.length;b++){
			if(esto.charAt(a)==letras[b]){
				aquello+=unicode[b];
				break;
			}
			
		}
		
		if(b==letras.length){
			aquello+=esto.charAt(a);
		}
	}
	return aquello
}
function solo_index(e) {
if (document.form1.no_control.value== "") {
alert(aUnicode("El numero de control esta vacio"));
document.form1.no_control.focus(); /
return false;
}
if (document.form1.clave.value== "") {
alert(aUnicode("La contraseña esta vacia"));
document.form1.clave.focus();
return false;
}
Para poner la ñ bastaría reemplazarla por \u00f1, pero nunca se sabe qué se va a querer escribir en un alert...

alert("Espa\u00f1a");

Espero que te sirva!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 03/06/2008, 16:00
 
Fecha de Ingreso: febrero-2008
Mensajes: 33
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Problema con letra ñ en Internet Explorer 7

Impresionante KarlanKas.
El codigo funciona a la perfeccion.

Saludos y gracias.
  #6 (permalink)  
Antiguo 04/06/2008, 00:19
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
Respuesta: Problema con letra ñ en Internet Explorer 7

Me alegro de que te sirviera (a mi también me ha venido muy bien tu pregunta, estoy harto de buscar palabras no acentudadas para los alert). Por cierto, me basé en lo que encontré aquí:
http://www.webestilo.com/foros/mensa...o=11&msg=44094

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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.
Tema Cerrado

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 22:23.