Grails: Как сделать submit <g:formRemote> через JavaScript

253
15 декабря 2016, 16:24

Есть форма:

<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

Answer 1

Вы можете схитрить и просто нажать на кнопку отправки формы:

document.getElementById('updateMessageButton').click();
READ ALSO
Как получить данные из локального файла?

Как получить данные из локального файла?

Нужно получить код файла svg для вставки на страницуПытался сделать по этому ничего не получилось

307
Подстановка данных из JSON в HTML

Подстановка данных из JSON в HTML

С помощью Ajax-запроса приходят данные в формате JSON:

262
Как рекурсивно обойти html-дерево на python?

Как рекурсивно обойти html-дерево на python?

Есть меню сайта в html - сделано через вложенные списки:

283
Закрытие div при клике вне его

Закрытие div при клике вне его

Нужно закрыть div, если клик был вне его области

422