Bueno les comento que estoy haciendo la validacion del rut chileno(Identificacion unica de cada persona natural) para el que quiera averiguar mas sobre la forma de calculo les dejo un link.
Bueno les comento que hago correr la pagina en firefox y me funciona me arroja los errores cuando el rut esta malo, cuando esta en blanco, cuando le faltan digitos..en fin funciona perfecto se podria decir pero en internet explorer no me hace nada, cuando lo ejecuto me aparece el tipico mensaje del explorer .."Para ayudar a proteger su seguridad, internet explorer impidio que esta pagina web ejecutara script o contrles ActiveX que podrian tener acceso al equipo... " para lo cual yo le hago un clic en la barra y le doy a la opcion "permitir contenido bloqueado".
Pruebo el script digito letras para que me aparesca el error por pantalla y no me hace nada .... limpia la caja de texto y deja el cursor donde mismo cuando hay un error hace eso por lo que me he dado cuenta...cuando digito una cadena correcta me permite saltar a la otra caja de texto.
Mi idea es que muestre los tipos de errores .... nose porque en firefox muesta y en el explorer NO.
Les dejo el codigo haber si me pueden guiar.
Codigo de la Pagina.
Código:
La funcion que me procesa el rut y envia los mensajes correspondientes.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sin título</title> <script src="funcionesRut.js" type="text/javascript"></script> </head> <body> <form name="bus_mide" method="post"> <table id="desaparece" class="tabla" width="100%" cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <th bgcolor="#cccccc" scope="col">Rut </th> <th bgcolor="#ffffcc" align="left" scope="col"> <label> <input class="objetos" type="text" onblur="validanumero(this)" maxlength="9" size="9" name="rut"/> </label> - <label> <input class="objetos" type="text" onblur="javascript:this.value = this.value.toUpperCase();validaM11(rut.value,dv.value,rut,dv)" maxlength="1" size="1" name="dv"/> Ingresar sin puntos (*)</label></th> </tr> </tbody> </table> <input type="hidden" value="" name="opcion"/> </form> </body> </html>
Código:
Bueno espero que me puedan ayudar guiar para resolver esto ya que mis conocimientos no son suficientes he tratado de investigar leer pero no lo logro sacar.function valchar(objeto) { digito=(objeto.value).substr((objeto.value).length -1,(objeto.value).length) var vDigitosNulos = " abcdefghijklnmñopqrstuvwxyzABCDEFGHIJKLNMÑOPQRSTUVWXYZúéíóáÁÉÍÓÚÀÈÌÒÙàèìòù,:.;-_!·$%&/()=?¿çºª0123456789¡#" if(parseInt(vDigitosNulos.lastIndexOf(digito),10)==-1){ objeto.value=(objeto.value).substr(0,(objeto.value).length -1) } } function validanumero(field){ // onblur="javascript:validanumero(this)" if (field.value==""){return false;} var valid = "0123456789." var ok = "yes"; var temp; for (var i=0; i<field.value.length; i++) { temp = "" + field.value.substring(i, i+1); if (valid.indexOf(temp) == "-1") ok = "no"; } if (ok == "no") { alert("Solo se Aceptan numeros !!!" ) field.value="";field.focus();field.select(); }else{ if (field.value=="")field.value="" } } function validastring(field){ if (field.value==""){return false;} var valid = "áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙ0123456789abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ¡!¿?=()/\&%$·#@|{}[]*;:.-_ºª^,' " var ok = "yes"; var temp; for (var i=0; i<field.value.length; i++) { temp = "" + field.value.substring(i, i+1); if (valid.indexOf(temp) == "-1") ok = "no"; } if (ok == "no") { alert("Entrada de dato no valida! Ha escrito caracteres no validos en esta entrada de datos!"); field.value="";field.focus();field.select(); }else{ if (field.value=="")field.value="" } } function validaM11(rut,dv,field1,field2){ var suma=0; var mul=2; var i=0; if (field1.value!="" || field2.value!=""){ for (i=rut.length-1;i>=0;i--){ suma=suma+rut.charAt(i) * mul; mul= mul==7 ? 2 : mul+1; } var dvr = ''+(11 - suma % 11); if (dvr=='10') dvr = 'K'; else if (dvr=='11') dvr = '0'; if (dvr!=dv) { alert('El Rut no es válido'); field1.value=""; field2.value=""; field1.focus(); return false;} else return true; }} function ventana(url,alto,ancho) { var attr = "HEIGHT=" + alto +",WIDTH=" + ancho + ",resizable=no, scrollbars=yes, titlebar=no"; window.open(url,"_blank",attr); } function MM_jumpMenu(selObj) { // v 3.0 ventana="window.showModalDialog('"+selObj.options[selObj.selectedIndex].value+"', 'NewWin', 'dialogTop=100px; dialogLeft=100px; dialogWidth=680px;dialogHeight=500px; channelmode=yes;status=no;scrollbars=no;center=yes; help=no; font-family:verdana;font-size:12px')"; eval(ventana); }
Desde ya Muchisimas GRACIAS.