0

我有一个看起来与此类似的表格 -

<Form (Unique Form ID) (Common Form Class)>
Some Value: <select_list_element> <submit_button> <image_tag_for_progress_indicator>
<Form Close Tag>

非常直接 - 为页面重复 20 倍。基本目的是让用户从表单列表中向下走,一次性更新值,然后继续前进。

为了使它更好一点,我正在通过 AJAX 提交,并希望允许指示事情正在更新。但是,我似乎无法让它正常工作 - 这是我正在使用的 javascript:

$('(Common Form Class)')
.bind('ajax:loading', function(){ $(this).find('(image tag class').attr('src', '(spinning gif)'); })
.bind('ajax:success', function(){ $(this).find('(image tag class').attr('src', '(success gif)'); })
.bind('ajax:failure', function (){ $(this).find('(image tag class').attr('src', '(failure gif)'); })

我 99% 肯定我使用“this”是错误的——但我似乎无法调试原因。

4

2 回答 2

0

您在请求/响应中的哪些地方遇到了问题?您是否确认表单提交但没有回复?

您是否使用 Rails 3 预打包的 UJS (rails.js) 来帮助提交表单?

另外,您如何知道根据 AJAX 结果更新哪个表单?

于 2011-03-24T23:46:55.170 回答
0

可悲的是,(或者不是很遗憾?)这个错误不在我的代码中。rails 的人决定更新 UJS 事件,现在“ajax:loading”不再正确——现在是“ajax:beforeSend”,所有的教程都是错误的。

希望有人看到这一点并能够更正自己的代码。

这是一个正确的教程:

http://www.alfajango.com/blog/rails-3-remote-links-and-forms/

于 2011-03-27T03:38:21.823 回答