以rails形式提交各种表单值

时间:2017-10-31 11:02:59

标签: javascript jquery ruby-on-rails ajax

下面的

是包含表格的表格的一部分。但是,在这种情况下,将为每个原始绘制提交按钮,因此用户应逐个单击。但是,我试图通过一键提交进行更改。

class MyTextField : UITextField {

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)

        if let placeholderText = self.placeholder {

            let centeredParagraphStyle = NSMutableParagraphStyle()
            centeredParagraphStyle.alignment = .center
            let attributedPlaceholder = NSAttributedString(string: placeholderText, attributes: [NSAttributedStringKey.paragraphStyle: centeredParagraphStyle])
            self.attributedPlaceholder = attributedPlaceholder
        }
    }
}

所以我考虑使用

<tbody>
  <% sum= @movies.inject(0) {|sum,x| sum+x.ticket_count }
     cnt = 0 %>
  <% @movies.each_with_index do |movie, idx| %>
      <tr id="theater_<%= movie.id %>">
        <td><%= idx+1 %></td>
        <td><%= movie.title %></td>
        <% if @matchables[movie.title] != 0
           t = movie.title %>
          <td><img src="<%= @matchables[t].poster %>" width="100" /></td>
          <td><%= @matchables[t].title  %></td>
        <% else %>
          <td> </td>
          <td> </td>
          <td> </td>
        <% end %>
        <%= form_tag(save_movies_admin_theaters_path, method: 'get') do %>
            <%= hidden_field_tag :tid, movie.id %>
            <td><%= text_field_tag(:nid, (@matchables[movie.title] != 0 ? @matchables[movie.title].naver_id : ""), class: 'input-mini') %></td>
            <td><%= submit_tag('submit' , class: "btn btn-primary") %></td>
        <% end %>
        <td></td>
        <td></td>
      </tr>
  <% end %>
  </tbody>
</table>

获取行的所有值,并使用js函数通过<input type='text' name='mid' class='movie' value=''/> 表单发送。但我真的不熟悉ajax js所以如果有一些指导以这种格式发送多个值,请告诉我。

2 个答案:

答案 0 :(得分:0)

<%= form_tag(save_movies_admin_theaters_path, method: 'post') do %>
            <%= hidden_field_tag :tid, movie.id %>
            <td><%= text_field_tag(:nid, (@matchables[movie.title] != 0 ? @matchables[movie.title].naver_id : ""), class: 'input-mini') %></td>
            <td><%= submit_tag('submit' , class: "btn btn-primary") %></td>
        <% end %>

写&#39;发布&#39;而不是&#39;得到。可以请你明确你的确切问题

答案 1 :(得分:0)

您可以在Expanded级别制作表单代码 每部电影也使用tbody

<%= fields_for "movies[]", movie do |mv| %>

提交后,您可以阅读此格式的参数。

<tbody>
<%= form_tag(save_movies_admin_theaters_path, method: 'get') do %>
  <% sum= @movies.inject(0) {|sum,x| sum+x.ticket_count }
     cnt = 0 %>
  <% @movies.each_with_index do |movie, idx| %>
    <%= fields_for "movies[]", idx do |mv| %>
       <tr id="theater_<%= movie.id %>">
        <td><%= idx+1 %></td>
        <td><%= movie.title %></td>
        <% if @matchables[movie.title] != 0
           t = movie.title %>
          <td><img src="<%= @matchables[t].poster %>" width="100" /></td>
          <td><%= @matchables[t].title  %></td>
        <% else %>
          <td> </td>
          <td> </td>
          <td> </td>
        <% end %>
        <%= mv.hidden_field :tid, movie.id %>
        <td><%= mv.text_field :nid, (@matchables[movie.title] != 0 ? @matchables[movie.title].naver_id : ""), class: 'input-mini') %></td>
       <td></td>
       <td></td>
      </tr>
    <% end %>
  <% end %>
  <tr><%= submit_tag('submit' , class: "btn btn-primary") %></tr>
<% end %>
</tbody>