1

This works in 1.5.2, but doesn't on 1.6.2. The button won't get 'enabled'. I think it has to be with the .attr

How could i fix this?

function checkMessageForm() {
    var message_chars = $("#form_dm_text").val().length;
    console.log(message_chars);
    if (message_chars > 0 && message_chars < 14001) $("#form_dm_submit").attr("disabled", "");
    else
    $("#form_dm_submit").attr("disabled", "disabled");
}

Thanks!

Santiago
  • 2,405
  • 6
  • 31
  • 43

3 Answers3

4

You should delete the disabled attribute:

$("#form_dm_submit").removeAttr("disabled");

You can see the effect of removeAttr('disabled') versus attr('disabled', '') here:

http://jsfiddle.net/ambiguous/JMvKr/

mu is too short
  • 426,620
  • 70
  • 833
  • 800
2

Instead of .attr("disabled", ""), try .removeAttr("disabled") ?

qingbo
  • 2,130
  • 16
  • 19
0

I like to use the .prop(propertyName, value) solution. Mostly it is just another option that wasn't mentioned here.

function checkMessageForm() {
    var message_chars = $("#form_dm_text").val().length;
    console.log(message_chars);
    var disable = message_chars > 0 && message_chars < 14001;
    $("#form_dm_submit").prop("disabled", disable);
}

attr() also accepts a true and false as the value to enable/disable.

Gordon Tucker
  • 6,653
  • 3
  • 27
  • 41