Rails - Javascript - 在表单提交之前向参数添加参数



>我有一个针对多个学生的表格,每个学生旁边都有复选框来收集他们的 ID。我正在尝试使用两个按钮,每个按钮都指向不同的表单,并且我尝试通过单击按钮提交参数,但无济于事:

simple_form_for - 具有不同参数的多个提交按钮

有没有办法在提交表单之前编写一些向参数添加参数的 JS?我的表格如下:

<%= simple_form_for :pupils, url: edit_multiple_school_group_pupils_path(school, group) do |f| %>
...
...
<%= f.button :submit, 'Change Levels', name: 'editing', value: 'levels' %>
<%= f.button :submit, 'Move to A Class', name: 'editing', value: 'classes' %>
<% end %>

每个按钮在原始HTML中都有自己的ID,所以我希望有一种方法可以在提交表单之前提取它并将其添加到参数中。

我对JS非常环保,所以甚至不知道从哪里开始。提前谢谢。

我不是 100% 确定 rails 部分需要什么,但听起来你想序列化你的表单。

这是相当容易实现的。下面是序列化为 JSON 函数的示例

function toJSONString( form ) {
var obj = {};
var elements = form.querySelectorAll( selectors );
for( var i = 0; i < elements.length; ++i ) {
var element = elements[i];
var name = element.name;
var value = element.value;
if( name ) {
obj[ name ] = value;
}
}
return JSON.stringify( obj );
}

选择器几乎可以是表单中您想要的任何内容。输入、文本区域、按钮等

希望这有帮助!

最新更新