Foros del Web » Programando para Internet » Javascript »

Aplicación javascrip no funciona en IE

Estas en el tema de Aplicación javascrip no funciona en IE en el foro de Javascript en Foros del Web. Estimados, Tengo un js que formatea un rut , que lo saqué desde este foro. Lo malo que no funciona en IE8 Alguna solución dejo ...
  #1 (permalink)  
Antiguo 19/04/2012, 09:14
 
Fecha de Ingreso: julio-2006
Mensajes: 15
Antigüedad: 17 años, 8 meses
Puntos: 0
Aplicación javascrip no funciona en IE

Estimados, Tengo un js que formatea un rut , que lo saqué desde este foro.
Lo malo que no funciona en IE8

Alguna solución

dejo los codigos

Código:
function revisarDigito(dvr){    
  dv = dvr + ""    
  if( dv != '0' && dv != '1' && dv != '2' && dv != '3' && dv != '4' && dv != '5' && dv != '6' && dv != '7' && dv != '8' && dv != '9' && dv != 'k'  && dv != 'K'){        
    alert("Debe ingresar un digito verificador valido");        
    window.document.form1.rutContacto.focus();        
    window.document.form1.rutContacto.select();        
    return false;    
  }    
  return true;
}

function revisarDigito2(crut){    
  largo = crut.length;    
  if(largo<2){        
    alert("Debe ingresar el rut completo")        
    window.document.form1.rutContacto.focus();        
    window.document.form1.rutContacto.select();        
    return false;    
  }    
  if(largo>2)        
    rut = crut.substring(0, largo - 1);    
  else        
    rut = crut.charAt(0);    
    dv = crut.charAt(largo-1);    
    revisarDigito( dv );    

  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 es incorrecto")        
        window.document.form1.rutContacto.focus();        
        window.document.form1.rutContacto.select();        
        return false    
    }

    return true
}

function Rut(texto){    
  var tmpstr = "";    
  for ( i=0; i < texto.length ; i++ )        
    if ( texto.charAt(i) != ' ' && texto.charAt(i) != '.' && texto.charAt(i) != '-' )
        tmpstr = tmpstr + texto.charAt(i);    
    texto = tmpstr;    
    largo = texto.length;    

    if ( largo < 2 ){        
        alert("Debe ingresar el rut completo")        
        window.document.form1.rutContacto.focus();        
        window.document.form1.rutContacto.select();        
        return false;    
    }    

    for (i=0; i < largo ; i++ ){            
        if ( texto.charAt(i) !="0" && texto.charAt(i) != "1" && texto.charAt(i) !="2" && texto.charAt(i) != "3" && texto.charAt(i) != "4" && texto.charAt(i) !="5" && texto.charAt(i) != "6" && texto.charAt(i) != "7" && texto.charAt(i) !="8" && texto.charAt(i) != "9" && texto.charAt(i) !="k" && texto.charAt(i) != "K" ){            
            alert("El valor ingresado no corresponde a un R.U.T valido");            
            window.document.form1.rutContacto.focus();            
            window.document.form1.rutContacto.select();            
            return false;        
        }    
    }    

    var invertido = "";    
    for ( i=(largo-1),j=0; i>=0; i--,j++ )        
        invertido = invertido + texto.charAt(i);    
    var dtexto = "";    
    dtexto = dtexto + invertido.charAt(0);    
    dtexto = dtexto + '-';    
    cnt = 0;    

    for ( i=1,j=2; i<largo; i++,j++ ){        
        //alert("i=[" + i + "] j=[" + j +"]" );        
        if ( cnt == 3 ){            
            dtexto = dtexto + '.';            
            j++;            
            dtexto = dtexto + invertido.charAt(i);            
            cnt = 1;        
        }else{                
           dtexto = dtexto + invertido.charAt(i);            
           cnt++;        
        }    
    }    

    invertido = "";    
    for ( i=(dtexto.length-1),j=0; i>=0; i--,j++ )        
        invertido = invertido + dtexto.charAt(i);    

    window.document.form1.rutContacto.value = invertido.toUpperCase()        

    if(revisarDigito2(texto))        
        return true;    
    return false;
}

tiene k editar donde sale document.form1.rutContacto.value con tus respectivos datos de tu form y lo usas de la sgte manera ewn tu form.

Código:
<input type="text" name="rutContacto" id="rutContacto" onblur="return Rut(form1.rutContacto.value)" />

Etiquetas: funcion, input, js
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 09:56.