Rails 3 / JQuery Форма повторяется на странице - PullRequest
0 голосов
/ 25 марта 2011

У меня есть форма, похожая на эту -

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

Довольно прямолинейно - повторите 20x для страницы.Основная цель - позволить пользователям перейти вниз по списку форм, обновить значения по одному, а затем перейти к следующему.

Чтобы сделать его немного лучше, я делаю отправку через 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» неправильно -но я не могу понять, почему.

Ответы [ 2 ]

0 голосов
/ 27 марта 2011

К сожалению, (или не к сожалению?) Ошибка не была с моим кодом. Ребята из rails решили обновить события UJS, и теперь «ajax: loading» больше не корректен - теперь это «ajax: beforeSend», и все учебники там неправильные.

Надеюсь, кто-то увидит это и сможет исправить свой собственный код.

Вот учебник, который имеет правильное значение:

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

0 голосов
/ 25 марта 2011

Где в запросе / ответе возникают проблемы?Вы подтвердили отправку формы, но ответа не последовало?

Используете ли вы предварительно упакованный в Rails 3 UJS (rails.js) для помощи в отправке формы?

Также как вызнаете, какую форму обновлять по результатам AJAX?

...