Javascript 使用disable_with重新启用禁用的链接
如何手动重新启用使用Rails“Javascript 使用disable_with重新启用禁用的链接,javascript,ruby-on-rails,Javascript,Ruby On Rails,如何手动重新启用使用Rails“disable\u with功能禁用的链接(而不是表单元素)?您可以使用jQuery删除Rails添加到按钮的data disable with属性: $(“#禁用按钮”).removeAttr('data-disable-with') 我找到了一个解决方案: 好的,我发现了这项有趣的工作(显然问题只存在于FF中) set:autocomplete=>“关闭”,现在它可以工作了。或者另一个答案也可能有效 参考:基于@DGM解决方案,我最终得到了以下代码: $.ra
disable\u with
功能禁用的链接(而不是表单元素)?您可以使用jQuery删除Rails添加到按钮的data disable with属性:
$(“#禁用按钮”).removeAttr('data-disable-with') 我找到了一个解决方案:
好的,我发现了这项有趣的工作(显然问题只存在于FF中) set:autocomplete=>“关闭”,现在它可以工作了。或者另一个答案也可能有效
参考:基于@DGM解决方案,我最终得到了以下代码:
$.rails.enableFormElements($disabled_button);
其中:
$disabled\u button
是按钮的jQuery对象,该按钮由数据禁用与
禁用,可如下选择:
$disabled_button = $('[data-disable-with]');
对可重入链接的调用与表单元素略有不同。它实际上将一个处理程序绑定到click事件,以阻止任何其他事件的发生。我是在一个星期前弄明白的 要扭转这种效果,只需在jQuery对象上使用
enablelement
方法:
$.rails.enableElement($('a[data-disable-with]'));
使用TurboLink,它还可以帮助监视
“页面:更改”
事件,而不是窗口。卸载:
$(document).on('page:change', function() {
$.rails.enableElement($('a[data-disable-with]'));
});
Rails已经更新了javascript,不再使用jQuery
现在,您可以使用以下内容重新启用元素(假设您仍在使用jQuery):
嘿,这很简单,你只需要找到按钮,然后
$button = $('#someId')
$.rails.enableElement($button)
$button.removeAttr('disabled')
啊,很有趣。正在寻找可以将其更改回原始状态的内容。好像不行,就像贝文布说的。这不会将元素更改回其原始状态。本质上,只需将一个或多个jQuery对象传递给$.rails.enableFormElements
,它就会重新启用它。在我的例子中,我传递了我正在提交的表单:$.rails.enableFormElements($('div.modal form'))
这不会将按钮的文本(即值
)更改回提交前的状态。
var selectors = [Rails.linkDisableSelector, Rails.formEnableSelector].join(', ');
$(selectors).each(function() {
Rails.enableElement(this);
})
$button = $('#someId')
$.rails.enableElement($button)
$button.removeAttr('disabled')