Jquery 在ajax表单中禁用html元素的最佳方法是什么?

Jquery 在ajax表单中禁用html元素的最佳方法是什么?,jquery,ruby-on-rails,ruby-on-rails-3,Jquery,Ruby On Rails,Ruby On Rails 3,我有一个元素,它在加载页面时被禁用 true%> 然后再次启用计数字段[2]: jQuery("form").submit(function() { jQuery("#count").removeAttr("disabled"); }); 然后,表单被错误提交。。然后再次启用同一字段。因为我正在提交表单[2]之前启用该字段。提交表单时返回相同的状态也是有意义的。因此,现在禁用的字段在提交发生之前被启用,因此当表单返回验证错误时,其显示为已启用 如何使其再次成为禁用字段。由于表单是使用a

我有一个元素,它在加载页面时被禁用

true%>

然后再次启用计数字段[2]:

jQuery("form").submit(function() {
    jQuery("#count").removeAttr("disabled");
});
然后,表单被错误提交。。然后再次启用同一字段。因为我正在提交表单[2]之前启用该字段。提交表单时返回相同的状态也是有意义的。因此,现在禁用的字段在提交发生之前被启用,因此当表单返回验证错误时,其显示为已启用

如何使其再次成为禁用字段。由于表单是使用ajax提交的,因此它不会加载整个页面,因此在返回错误消息时,在
document.ready
中定义代码是没有意义的


谢谢

您可能希望添加一个完整的回调,重新禁用输入元素

我相信你会这样做:

jQuery('form').bind('ajax:complete', function() {
    jQuery("#count").attr('disabled', 'disabled');
});

我假设您启用了输入元素,以便提交其值。作为启用然后重新禁用输入元素的替代方法,您可以使用两个输入元素:一个可见但永久禁用的输入元素和一个隐藏的输入元素。您总是给它们相同的值,但只有隐藏的输入元素才有“name”属性。

您是否使用jQuery的ajax方法提交表单数据?否,我正在使用rails way
:remote=>true