我有一个rails form_for html元素。该表单具有onsubmit属性,该属性调用javascript函数。 onsubmit可以正常工作,但是当我添加其他参数时,js函数不再受命。
由form_for生成的带有附加参数的HTML是正确的,但是由于某种原因未调用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...
}
答案 0 :(得分:1)
检查生成的html,并确保正确引用了saveItem的参数。尝试使用<%= form_for :item, html: { onsubmit: "saveItem(event, '#{j method}', '#{j url}')" } %>
-用单引号引起来的字符串,然后通过j
helper方法传递它们,以确保正确地转义它们以供JS代码使用。