如何在表单中创建提交操作而不是按钮(使用submit_tag)而不是图像(image_submit_tag)?
我希望提交为可点击的文字,如链接
由于
答案 0 :(得分:3)
您需要使用javascript,因为链接是GET请求,而不是发布请求。所以假设你有以下代码:
<%= form_for @post, :html => { :id => 'form' } do |f| %>
<div class="field">
<%= f.label :title %>
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :body %>
<%= f.text_area :body %>
</div>
<div class="actions">
<a id="submit">Submit</a>
</div>
<% end %>
然后,您需要将以下内容添加到其中一个javascript文件中。如果你正在使用&lt; Rails 3.1,只需将其添加到您的application.js即可。如果您使用的是Rails 3.1,请将其添加到assets / javascripts目录中的一个js文件中。
$(function() {
$('#submit').click(function() {
$('#form').submit();
});
});
也就是说,您可以将方法选项传递给link_to方法调用,以使用POST。但是,只是在没有javascript的情况下这样做不会提交任何表单数据。因此,您要么必须执行上述操作,要么使用javascript将数据添加到URL中,就像在查询字符串中一样。
答案 1 :(得分:0)
这是我做到的一种方式:
<a><%= submit_tag "Submit", class: "fake-button" %></a>
然后,更改样式:
.fake-button {
padding: 0;
border: none;
display: inline;
}
所以它在技术上仍然是一个按钮,但看起来非常像一个链接。虽然有点hacky:)