Прототип / JQuery микс с Grails formRemote - PullRequest
1 голос
/ 29 августа 2011

Я пытаюсь изменить некоторые из моих форм, и у меня странная проблема с одним из них. Я всегда использовал jquery вместо прототипа, поэтому плагин jquery установлен и настроен, мой макет имеет тег <g:javascript library="jquery" plugin="jquery"/> в голове и Config.groovy содержит строку grails.views.javascript.library="jquery". Пока все хорошо.

Теперь у меня есть g: formRemote, объявленный так на моей странице:

<g:formRemote id="signUpForm" name="signUpForm" 
    url="[controller:'user', action:'register']" 
    onLoading="showRegistrationProgress()" 
    onComplete="hideRegistrationProgress()" 
    onSuccess="processRegistrationResponse(data)">
...
</g:formRemote>

Но когда я нажимаю кнопку отправки, она полностью обходит jquery обработчики событий и выполняет стандартную отправку без AJAX.

Когда я смотрю на отладчик JavaScript в Chrome, я замечаю следующее сообщение об ошибке при отправке формы: «Ajax не определен». И действительно, когда я смотрю на сгенерированный HTML, я вижу, что форма выглядит так:

<form onsubmit="new Ajax.Request('/kodesk/user/register',...)" 
    method="POST" 
    action="/kodesk/user/register" 
    id="signUpForm" name="signUpForm">
....
</form>

Откуда этот "новый Ajax.Request"? Разве это не прототип кода?

Ответы [ 2 ]

0 голосов
/ 29 августа 2011

Я нашел способ заставить его работать после прочтения этого поста: http://grails.1312388.n4.nabble.com/newb-ajax-jquery-question-td1386031.html

Я только что добавил <g:setProvider library="jquery"/> в заголовок своей страницы, и теперь это работает.Я до сих пор не знаю, почему это не сработало раньше, но это решение достаточно для меня.

0 голосов
/ 29 августа 2011

Попробуйте переместить <g:javascript library="jquery" /> вниз в вид вместо макета.Я заметил, что это решает проблему для меня в прошлом.Также попробуйте запустить clean перед повторной попыткой run-app.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...