Есть форма:
<g:formRemote id="formId" update="messageArea" url=[controller: "message, action: "post">
<g:textArea/>
</g:formRemote>
Вызываю submit обычным JavaScript:
document.getElementById('formId').submit()
И AJAX не отправляется, render идет на новую страницу, а не в блок . А если использую вариант со скрытой <g:submitButton/> и её последующей активацией через JavaScript то все отлично, render посылает контент в блок, все работает как задумывалось.
Форма:
<g:formRemote id="formId" update="messageArea" url=[controller: "message, action: "post">
<g:textArea/>
<g:submitButton id="updateMessageButton" value="Update" hidden="hidden"/>
</g:formRemote>
Скрипт:
document.getElementById('updateMessageButton').submit()
Вариант через простой <button type="submit" form="formId"> так же не работает.
Интересны причины, почему происходит именно так. Что особенного в (в доках ничего не нашел интересного, возможно не там смотрел). И как правильно сделать сабмит формы через JavaScript
Вы можете схитрить и просто нажать на кнопку отправки формы:
document.getElementById('updateMessageButton').click();
Продвижение своими сайтами как стратегия роста и независимости