RAILS-4 jquery-ujs使我的所有按钮都在form_tag中提交按钮

时间:2016-03-08 23:00:23

标签: ruby-on-rails ruby-on-rails-4

我在模态中遇到问题。

这是我的表格

<%= form_tag({controller: "controller", action: "action"}, id: "form_id", remote: true) do %>
   <button class="btn btn-default btn-xs btn-filter" id="id_button">
   <%= number_field_tag "id", nil, placeholder: "0", class: "input_class" %>
   <%= submit_tag("ok", id: "submit_add", class: "btn btn-success") %>
<% end %>

提交标记效果很好,但jquery-ujs添加了此事件:

function(event) {
  var button = $(this);

  if (!rails.allowAction(button)) return rails.stopEverything(event);


  // register the pressed submit button
  var name = button.attr('name'),
  data = name ? {
  name: name,
  value: button.val()
} : null;

button.closest('form').data('ujs:submit-button', data);
}

#id_button标识的按钮上,这会导致该按钮也提交表单,但我不希望这样。

我没有发现这个问题。

1 个答案:

答案 0 :(得分:2)

HTML中按钮的默认行为是提交表单。

如果您想要不同类型的操作,则需要在按钮标记内指定type="button"。这与我害怕的jquery-ujs无关。

<button type="button" class="btn btn-default btn-xs btn-filter" id="id_button">