entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Explorer 8 y javaScript

Buenas tardes, quiero deshabilitar o habilitar un input

document.getElementById("fecha").disabled==false

esto con JavaScript pero en explorer 8 no funciona, me podrían ayudar con alguna solución?

1 Respuesta

3votos

Leonardo-Tadei Puntos227320

Hola Alejandro,

posiblemente no te funcione por un error de sintaxis en tu código: no es:

document.getElementById("fecha").disabled==false

sino que es:

document.getElementById("fecha").disabled=false;

es decir, es con = en vez de con ==.

Lo que hace tu código es una comparación, y no una asignación.

Si con esto no se soluciona, poné por acá ll código HTML del input y la porción de JS que lo deshabilita para poder ver todo en conjunto.

Saludos!

0voto

Alejandro Castillo A comentado

Disculpa, lo que pasa es que puse el código que tenía dentro de un if, jeje,

 if(document.getElementById("monto").disabled==false) {
        if((document.getElementById("monto").value*1)<=0) {
            alerta+="Alerta en Alta de Gestion:\nEl monto no puede ser menor o igual a cero para este tipo de gestion.";
            flag=1;
        }
    }

tengo un select que activa o desactiva el campo "monto" por lo que cuando el campo monto esta activado, entra al if del código y valida que hay un monto valido para la operación, el problema que tengo es que en explorer 8 no funcionan algunos scripts, funcionan en firefox, chrome, pero no en esta version del explorer, intente con JQuery $("#fecha").attr("disabled", true); pero da lo mismo, no funciona, la solución para mi sería decirle al cliente que actualizara su explorador jeje.

        //document.getElementById("monto").disabled=true;

        $(document).ready(function(){
                           $("#monto").attr("disabled", "disabled");

        });

estas son las maneras con las que e intentado deshabilitar los campos

0voto

Leonardo-Tadei comentado

Alejandro,

podrías poner toda la función, incluyendo el código que hace la deshabilitación el contexto en que4 se usa?
Lo que enviás es la detección del estado del elemento "monto", pero el código de deshabilitación está fuera de contexto...

0voto

Alejandro Castillo A comentado

 function adicionales() {

    var adi_monto = ["1","2","4","5","11","31","32","34"];
    var a = adi_monto.indexOf(""+document.getElementById("reaccion")[document.getElementById("reaccion").selectedIndex].value+""); 
    if(a>=0)
    {
        document.getElementById("monto").disabled=false;
        $(document).ready(function(){
                           $("#monto").prop("disabled", false);
        });
    } 
    else
    {
        document.getElementById("monto").value='';
        document.getElementById("monto").disabled=true;
        $(document).ready(function(){
                           $("#monto").prop("disabled", true);
                           //$("#monto").prop("disabled", true);
        });

    }
    var adi_fecha = ["1","2","3","4","5","11","15","27","31","32","34","43"];
    var b = document.getElementById("reaccion")[document.getElementById("reaccion").selectedIndex].value;
    //adi_fecha.indexOf(""+document.getElementById("reaccion")[document.getElementById("reaccion").selectedIndex].value+""); 
    if(b>=0) {
        document.getElementById("fecha").disabled=false;

    } else {
        document.getElementById("fecha").value='';
        document.getElementById("fecha").disabled=true;
         $("#fecha").attr("disabled", true);
    }
    var adi_folio = ["11","27","43"];
    var c = adi_folio.indexOf(""+document.getElementById("reaccion")[document.getElementById("reaccion").selectedIndex].value+""); 
    if(c>=0) {
        document.getElementById("folio").disabled=false;
         $("#folio").attr("disabled", false);
    } else {
        document.getElementById("folio").value='';
        document.getElementById("folio").disabled=true;
        $("#folio").attr("disabled", true);
    }
}

el código funciona bien, como ya he dicho antes, no funciona en explorer 8, intente con la versión de Jquery 1.x. y la 2.x, con javascript, en jquery probé .prop .attr, otra opción era esconder los elementos, pero tampoco funciona en IE 8

document.getElementById("monto").style.display="none";

0voto

Alejandro Castillo A comentado

encontré por fin donde esta el error

adi_monto.indexOf(""+document.getElementById("reaccion")[document.getElementById("reaccion").selectedIndex].value+"");

Tratare de hacerlo de otra manera, es lo malo de arreglar proyectos de otras personas jeje, gracias por tu ayuda.

0voto

Leonardo-Tadei comentado

Me alegra que lo hayas encontrado!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta