Ruby on rails Rails:表单标签外的提交按钮
我使用一个按钮在一组选中的复选框中执行处理。该解决方案基于RailsCast 165 这一切都可以正常工作,但前提是表单中包含了提交标签按钮(这是我的应用程序中的一个表)。我想将submit按钮放在页面标题中,但这会中断与表单的连接 如何将“提交”按钮放置在表单正文之外Ruby on rails Rails:表单标签外的提交按钮,ruby-on-rails,forms,Ruby On Rails,Forms,我使用一个按钮在一组选中的复选框中执行处理。该解决方案基于RailsCast 165 这一切都可以正常工作,但前提是表单中包含了提交标签按钮(这是我的应用程序中的一个表)。我想将submit按钮放在页面标题中,但这会中断与表单的连接 如何将“提交”按钮放置在表单正文之外 <%= form_tag select_cosmics_path, method: :put do %> <%= submit_tag "Accept Checked", :class => "btn
<%= form_tag select_cosmics_path, method: :put do %>
<%= submit_tag "Accept Checked", :class => "btn btn-primary" %>
<table class="table table-striped">
.
.
<% @cosmics.each do |cosmic| %>
<tr>
<td><%= check_box_tag "cosmic_ids[]", cosmic.id %></td>
.
.
</tr>
<% end %>
</table>
<% end %>
您可以在表单外部创建按钮,并在单击按钮时使用javascript提交表单: HTML: 您还可以直接在按钮的
onClick
属性中添加javascript。这样,您就可以将submit outside表单添加到链接中,只需添加一个“outside submit”类
HTML:
虽然这个问题由来已久,但我认为有必要指出一个不依赖JavaScript的更好选项 HTML5引入了
form
,作为一个属性,可以应用于任何表单控件,并根据其id将其绑定到特定表单,即使该控件没有嵌套在表单标记中
例如:
<form id="my_sample_form">
...
</form>
<input type="submit" value="Submit" form="my_sample_form">
...
此提交按钮将使用表单属性中指定的id提交表单
此外,这不仅限于提交按钮,而是适用于任何表单控件,并允许您提交遍布各地的表单部分
与大多数JavaScript解决方案不同,您将保留所有本机表单功能,如在输入/返回时提交。真的吗?是否有某种方法可以链接到表单外的其他按钮或链接?不知道这是否是最佳解决方案,但您是否尝试使用按钮的绝对定位?我没有。。。我来试试。那太棒了,波德里克!你是个传奇人物!另外,我认为布莱克达爵士有时可能有点不公平;-)输入时提交功能是我不想使用js解决方案的原因。而且,这更干净。谢谢这非常优雅。请记住,这是任何版本的IE都不支持的解决方案。
<button id="myBtn" class="btn btn-primary">Accept Checked</button>
...
<%= form_tag select_cosmics_path, method: :put, id: 'myForm' do %>
...
<% end %>
$(document).ready(function() {
$('#myBtn').on('click', function() { $('#myForm').submit(); });
});
<a class="outside-form" data-formid="my-form">link to submit</a>
<form id="my-form">
...
</form>
jQuery ->
$buttons = $(".outside-submit")
for button in $buttons
$button = $(button)
$form = $("##{$button.data().formid}")
$button.on 'click', -> $form.submit()
<form id="my_sample_form">
...
</form>
<input type="submit" value="Submit" form="my_sample_form">