Foros del Web » Programando para Internet » Javascript »

Este script no tiene compatibilidad con IE8, pero sí con el 7 y otros navegadores

Estas en el tema de Este script no tiene compatibilidad con IE8, pero sí con el 7 y otros navegadores en el foro de Javascript en Foros del Web. Hola a todos. Me sucede algo muy extraño con esta pequeña pieza de código que utilizo para validar los caracteres válidos de un campo. No ...
  #1 (permalink)  
Antiguo 22/03/2010, 08:59
Avatar de alexbariv  
Fecha de Ingreso: septiembre-2003
Ubicación: Mérida, Venezuela
Mensajes: 766
Antigüedad: 20 años, 7 meses
Puntos: 0
Pregunta Este script no tiene compatibilidad con IE8, pero sí con el 7 y otros navegadores

Hola a todos.

Me sucede algo muy extraño con esta pequeña pieza de código que utilizo para validar los caracteres válidos de un campo. No es más que revisar que los campos numéricos sean solo números y los alfa solo alfa y así sucesivamente.

Código:
function formatoCampo(fld,e,t) {

    // Variables
    var aux = aux2 = '';
    var i = j = 0;
    var strCheck = null;

    // solo numeros
    if (t==1)
        var strCheck = '0123456789';

    // solo letras
    if (t==2)
        var strCheck = 'AaBbCcDdEeFfGgHhIiJjKkLlÑñNnMmOoPpQqRrSsTtUuVvWwXxYyZzáÁéÉíÍóÓúÚ ';

    // telefonos
    if (t==3)
        var strCheck = '0123456789-ext';

    // moneda & numerico con decimales
    if (t==4)
        var strCheck = '0123456789,.';

    // Dimensiones (800x600)
    if (t==5)
        var strCheck = '0123456789x';

    // Obtiene el codigo de la letra precionada
    var whichCode = (window.Event) ? e.which : e.keyCode;

    // Comienza la comprobación
    if (whichCode == 13 || whichCode == 8)
        return true; // Permitir Tecla Enter

    if (t==4 && (whichCode == 44 || whichCode == 46))
        return true; // Permitir Comas y puntos

    if (whichCode == 0)
        return true; // Permitir Tabulador

    // Consigue el valor del codigo de tecla
    key = String.fromCharCode(whichCode);

    // Verifica el caracter con los seleccionados en strCheck
    if (strCheck.indexOf(key) == -1)
        return false;

    // Retorna el caracter al campo
    fld.value += aux2.charAt(i);
}
Para utilizarlo hay que colocar en los Input de tipo texto lo siguiente:

Código:
<input type="text" onKeyPress="return(formatoCampo(this,event,1))">
Eso por ejemplo validaría para que los campos sean de solo números.

Este código funciona perfectamente en todos los navegadores excepto IE8, y realmente no tengo idea de porque.

Gracias de antemano por cualquier ayuda que puedan prestarme.
__________________
"Piensa como una persona de acción y actúa como una persona que piensa."

Etiquetas: compatibilidad, navegadores
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 13:16.