rails form_for onsubmit с интерполированными параметрами, не попадающими в функцию js - PullRequest
0 голосов
/ 21 мая 2019

У меня есть элемент rails form_for html.Форма имеет атрибут onsubmit, который вызывает функцию javascript.Функция onsubmit работает нормально, но когда я добавляю дополнительные параметры, функция js больше не срабатывает.

HTML-код, сгенерированный form_for с дополнительными параметрами, является правильным, но по какой-то причине функция js не вызывается.Любая помощь приветствуется!

This works...

<%= form_for :item, html: { onsubmit: "saveItem(event)" } %>
  form content...
<% end %>

function saveItem(event) {
  js function content...
}

--------------------------------------------------------------------------------

This does not...

<%= form_for :item, html: { onsubmit: "saveItem(event, #{method}, #{url})" } %>
  form content...
<% end %>

function saveItem(event, method, url) {
  js function content...
}

1 Ответ

1 голос
/ 21 мая 2019

Проверьте сгенерированный html и убедитесь, что ваши аргументы для saveItem указаны правильно.Попробуйте <%= form_for :item, html: { onsubmit: "saveItem(event, '#{j method}', '#{j url}')" } %> - заключите строки в одинарные кавычки и передайте их через вспомогательный метод j, который гарантирует, что они должным образом экранированы для использования кодом JS.

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