2013-06-25 37 views

cevap

0

jSuery'yi, Rails'in düğmeye eklediği data-disable-with niteliğini kaldırmak için kullanabilirsiniz: $ ('# disabledbutton'). RemoveAttr ('data-disable-with');

+1

Ah düğmesini bulup yapmanız gereken oldukça basit, ilginç. Orijinal durumuna geri dönmek için bir şeyler arıyorum. Bu öyle görünmüyor. – bevanb

+0

bevanb gibi dedi. Bu, öğeyi orijinal durumuna geri döndürmez. –

6

Ben here bulundu bir çözüm:

$(window).unload(function() { 
    $.rails.enableFormElements($($.rails.formSubmitSelector)); 
}); 
0

Tamam ben (görünüşte sorun yalnızca FF olan) seti etrafında bu ilginç çalışmayı bulundu: otomatik tamamlama => 'kapalı' ve şimdi çalışıyor. Ya da diğer cevaplardan biri de işe yarayabilir.

ref: https://github.com/rails/jquery-ujs/issues/357 Aşağıdaki kod ile sona erdi @DGM çözeltisi dayanarak

1

:

$.rails.enableFormElements($disabled_button); 

:

$disabled_buttondata-disable-with tarafından devre dışı düğme jQuery amacı ise olabilir şu şekilde seçilebilir:

8

Yeniden bağlanabilir bağlantılar çağrısı, form öğelerinden biraz farklıdır. Aslında, gerçekleşen başka bir şeyi durduran tıklama etkinliğine bir işleyiciyi bağlar. Bunu investigating how the jquery-ujs library ile çözebiliyordum.

sadece jQuery nesne üzerinde enableElement yöntemi kullanmak, bu etkiyi tersine çevirmek için: Turbolinks ile

$.rails.enableElement($('a[data-disable-with]')); 


, aynı zamanda window.unload yerine 'page:change' olay için izlemeye yardımcı olur:

$(document).on('page:change', function() { 
    $.rails.enableElement($('a[data-disable-with]')); 
}); 
2

Raylar, jQuery'yi artık kullanmamak için javascript'ini güncelledi.

Artık aşağıdaki (hala jQuery kullandığınız varsayarak) ile parçasını yeniden etkinleştirebilirsiniz:

var selectors = [Rails.linkDisableSelector, Rails.formEnableSelector].join(', '); 
$(selectors).each(function() { 
    Rails.enableElement(this); 
}) 
0

Hey onun sadece

$button = $('#someId') 
$.rails.enableElement($button) 
$button.removeAttr('disabled') 
İlgili konular