Buenas necesito una mano con esta validación que funciona pero pierde el focus, he averiguado sobre el focus, select pero no logro dar con una solución.
Asi la llamo:
Código:
<input name="rut" type="text" id="rut" size="15" maxlength="15"
onChange="Valida_Rut(this)" value=""
onFocus="this.style.background='#E1E1E1'; this.style.color='blue'"
onBlur="this.style.background='#FFFFFF'; this.style.color='black'" />
Código:
<script language="javascript" type="text/javascript">
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;
}
}
</script>