使span元素提交一个编辑表单

时间:2015-09-28 13:52:19

标签: javascript html ruby-on-rails forms

我有一个非常漂亮的bootstrappy表单(在rails& HTML中)

<%= form_for(current_user) do |f| %>
  <div class="input-group input-group-lg">
    <%= f.text_field :location, :class => "form-control", :placeholder => "Where are you?", 'aria-describedby' => 'basic-addon2' %>
    <span type="submit" name="commit" class="input-group-addon btn btn-success" id="basic-addon2" style="color: white;">Go!</span>
  </div>
<% end %>

但是使用上面的内容,当我点击&#34; Go!&#34;按钮。

如果我使用代码,我可以让我的表单成功提交:

<%= form_for(current_user) do |f| %>
  <div class="input-group input-group-lg">
    <%= f.text_field :location, :class => "form-control", :placeholder => "Where are you?", 'aria-describedby' => 'basic-addon2' %>
    <%= f.submit "Go!", class: "input-group-addon btn btn-success", id: "basic-addon2", style: "color: white;"  %>
  </div>
<% end %>

我的问题是我在合并两个版本时遇到了麻烦,即在添加后者的功能的同时保留了前者的美感。我试图在跨度或其他奇怪的组合中按钮或按钮内安排的每一种方式,没有任何设法做我想要的。我可以使<span><button>(由f.submit生成)的属性完全相同,我浏览器看到的HTML的唯一区别是一个是<span>和另一个是<button>

有人可以想办法合并这两个概念吗?

2 个答案:

答案 0 :(得分:0)

你发现你不能在span或者某个东西中使用链接,因为这个提交按钮可以通过浏览器作为post方法。而链接进入get方法。但是有一个解决方案,任何元素都可以作为提交按钮使用,只需按照此说明进行操作.. Submit Rails 4 form with link instead of button

答案 1 :(得分:0)

单击submit标记时,您始终可以触发span事件:

# Inside your document.ready function in your .js file

$('#my_span').on('click', function() {
  $('#my_form').submit();
});

一种hacky方式,但它有效。