jQuery .prop («отключено», false) не работает в Chrome - PullRequest
18 голосов
/ 11 февраля 2012

возникают проблемы с .prop («отключен», false), он отлично работает в опере и firefox, но в IE и chrome я не могу заставить его работать ..

На самом деле это форма приглашения, и я делаю кнопку отправки вот так

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

и вот css

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

Таким образом, как вы видите, кнопка отключена, а вы не можете щелкнуть мышью. Сначала вы должны написать свое имя и почту, после того как эта кнопка отключена, и вы сможете отправлять почту. Для этого я пишу код здесь: http://pastebin.com/8u23G90b

Но что-то здесь не так, в Chrome и IE отключен, никогда не удаляется из кнопки, я также загружаю jquery 1.7.1

p.s извините за мой английский

Ответы [ 5 ]

23 голосов
/ 11 февраля 2012

Удалить атрибут:

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

Подробнее см. .removeAttr ()

2 голосов
/ 25 июля 2013

Ваша проблема не с JQuery, а с вашими селекторами CSS. Атрибут disabled относится к значению по умолчанию при первой загрузке страницы, а не к тому, действительно ли элемент отключен или нет.

Селектор CSS, который вам нужен - это : отключенный селектор :

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

Вы можете увидеть пример с this jsfiddle .

0 голосов
/ 05 декабря 2014

Я столкнулся с подобной проблемой, когда я использовал .prop («отключен», false) для удаления отключенного из кнопки «Сохранить».Disabled назначается с помощью .prop («disabled», true).

Но подождите, кто что - при попытке удалить это свойство (которое будет отображаться как отключенное в теге html), я обнаружил, что оновывод как class = "disabled"!

Для этого - я использовал .removeClass ('disabled'). Все, что я хочу сказать, это то, что все работает не так, как вы думаете, должно, убедитесь, чтоначальный вывод - это то, что вы ожидаете.


0 голосов
/ 11 февраля 2012

просто используйте кнопку и живите:

<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(); });
0 голосов
/ 11 февраля 2012

Попробуйте написать так:

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