Foros del Web » Programando para Internet » Javascript »

como mostrar mensaje al lado del formulaio

Estas en el tema de como mostrar mensaje al lado del formulaio en el foro de Javascript en Foros del Web. Hola, amigos estoy haciendo un validador de rut chileno y encontré esta funcion en internet: Código: function Valida_Rut( Objeto ) { var tmpstr = ""; ...
  #1 (permalink)  
Antiguo 03/02/2010, 14:57
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
como mostrar mensaje al lado del formulaio

Hola,

amigos estoy haciendo un validador de rut chileno y encontré esta funcion en internet:
Código:
function Valida_Rut( Objeto ) {
 
	var tmpstr = ""; 
	var intlargo = Objeto.value;
 
	if (intlargo.length> 0) { 
		crut = Objeto.value;
		largo = crut.length; 
		if ( largo <2 ) { 
			alert('rut inválido');
			Objeto.focus();
			return false; 
		} 
 
		for ( i=0; i <crut.length ; i++ ) {
			if ( crut.charAt(i) != ' ' && crut.charAt(i) != '.' && crut.charAt(i) != '-' ) { 
				tmpstr = tmpstr + crut.charAt(i); 
			} 
		}	
			rut = tmpstr; 
			crut=tmpstr; 
			largo = crut.length; 
			if ( largo> 2 ){ 
				rut = crut.substring(0, largo - 1); 
			}else rut = crut.charAt(0); 
 
				dv = crut.charAt(largo-1); 
				if ( rut == null || dv == null ) return 0; 
				var dvr = '0'; 
				suma = 0; 
				mul = 2; 
 
				for (i= rut.length-1 ; i>= 0; i--) { 
					suma = suma + rut.charAt(i) * mul; 
					if (mul == 7) mul = 2; 
					else mul++; 
				} 
 
				res = suma % 11; 
				if (res==1) dvr = 'k'; 
				else if (res==0) dvr = '0'; 
				else { dvi = 11-res; dvr = dvi + ""; } 
 
				if ( dvr != dv.toLowerCase() ) { 
					alert('El Rut Ingreso es Invalido'); 
					Objeto.focus(); 
					return false; 
				} 
				alert('El Rut Ingresado es Correcto!'); 
				Objeto.focus(); 
				return true; 
	} 
}
Código HTML:
<form action="index.php" method="post">
<input name="txtrut" id="txtrut" type="text" onchange="javascript:Valida_Rut(txtrut);" />
</form> 
pero en ves de que me arroje una alerta quisiera que me mostrara el resultado al lado del formulario en un span

Alguine me ayuda??

Gracias
  #2 (permalink)  
Antiguo 03/02/2010, 15:34
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: como mostrar mensaje al lado del formulaio

Asigna un id al span y luego cambia su contenido con innerHTML:
Código Javascript:
Ver original
  1. document.getElementById("id_span").innerHTML = "mensaje";
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 03/02/2010, 15:41
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: como mostrar mensaje al lado del formulaio

ok muchisimas gracias
me finciona muy bien, pero cuando cambio el focus no vuelve a su posicion, ¿¿ sabes porque ??
  #4 (permalink)  
Antiguo 16/02/2010, 09:56
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: como mostrar mensaje al lado del formulaio

Alguien sabe como ponerlo nuevamente en el campo rut si se encuentra mal ingresado el rut, es decir cuando es incompleto o esta mal escrito??

lo que pasa es que si el rut es incompleto o mal escrito me avisa pero se pone focus en el siguiente campo del formulario, lo que quiero es que si esta mal que vuelva a su propio campo

como lo hago??

Gracias
  #5 (permalink)  
Antiguo 16/02/2010, 11:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: como mostrar mensaje al lado del formulaio

Que yo sepa, no hay una forma que funcione en todos los navegadores para que el foco vuelva al campo justo después de salir de él (onblur, onchange, etc.)

Y de hecho si hablamos de usabilidad sería bastante molesto al usuario no poder salir del campo hasta escribir un valor válido. Basta con el aviso de que el valor ingresado es incorrecto.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 16/02/2010, 13:12
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: como mostrar mensaje al lado del formulaio

David te lo agradezco mucho y es muy pero muy logica tu respuesta, pero es necesario debido que no quiero que alguien siga rellenando campos sin que validen el rut, ya que se trata de una web con aplicaciones legales :(

Saludos y muchas gracias

Etiquetas: lado, mensaje
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 00:41.