2012-02-11 19 views
17

teniendo problemas con .prop ("disabled", false) funciona bien en opera y firefox pero IE y Chrome no puedo hacerlo funcionar.jQuery .prop ("disabled", false) no funciona en Chrome

podía comprender que es una forma invination e im hacer botón de enviar como esto

<input id="sendInvite" class="mail_send" disabled="disabled" type="button" name="invite" value="Send"> 

y aquí se css

.mail_send[disabled="disabled"] {background-color:#343434; color:#747474} 

Así como se puede ver botón está desactivado y no se puede hacer clic, se primero debe escribir su nombre y enviarlo por correo postal ese botón está desactivado y puede enviar correo. Para que este código de escritura im aquí es: http://pastebin.com/8u23G90b

Pero algo está mal aquí, en cromo y el IE de movilidad nunca se retira de botón, im también cargar jQuery 1.7.1

ps lo siento por mi Inglés

+0

enlace violín se rompe – Roger

Respuesta

23

quitar el atributo:

$('button').removeAttr("disabled"); 

Ver .removeAttr() para más detalles

+0

no, no funciona esto ... – user994461

+0

I [solo intenté] (http://jsfiddle.net/frZ63/1/) ambos métodos en Chrome 17, y ambos funcionan. Creo que su problema puede estar en otro lugar, ¿está recibiendo algún error en la consola? –

+0

interesante ... también funciona para mí en Chrome 16 en jsfiddle, en el sitio no funciona ... no hay ningún error en la consola. hmm ... – user994461

-1

Trate de escribir de esa manera:

$('myButton').prop("disabled", ""); 
+0

No es trabajo im tratan – user994461

+0

El problema es, probablemente, en otros lugares. ¿Puedes publicar más código? –

-1

simplemente utilizar el botón, y que viva

<button class="sendm">Send Email</button> 

$(".sendm").live("click", function(e){ 
    var field1 = $("").val(); 
    var field2 = $("").val(); 

    if(field1 === "" || field2 === ""){ 
    /// fake checker, you make this more robust etc 
    return false; // maybe do an alert here 
    } else { 
     //post form data and get json response 
    } 

}); 

$(document).ready(function(){ $(".sendm").button(); }); 
2

Su problema no es con jQuery, pero con sus selectores CSS. El atributo deshabilitado hace referencia al valor predeterminado cuando la página se carga por primera vez, en lugar de si el elemento está realmente deshabilitado o no.

El selector CSS que desea es la :disabled selector:

.mail_send:disabled {background-color:#343434; color:#747474} 

se puede ver un ejemplo con this jsfiddle.

0

Me encontré con un problema similar en el que estaba usando .prop ("disabled", false) para eliminar la función deshabilitada de un botón "Guardar". Disabled se estaba asignando a través de .prop ("disabled", true).

Pero espere quién, cuando intente eliminar esta propiedad (que se mostraría como deshabilitada en la etiqueta html) descubrí que se estaba produciendo como class = "disabled"!

Para esto - utilicé .removeClass ('disabled') Todo lo que intento decir es que si las cosas no funcionan de la manera que usted cree que deberían hacerlo, asegúrese de que su salida inicial sea la esperada.


Cuestiones relacionadas