将提交按钮图像添加到Rails表单
我在Rails中创建一个用于提交注释的表单,我希望提交按钮是一个图像,而不是一个HTML按钮。 在这篇文档中 ,它说代码是image_submit_tag
,但我不能让它在我的代码中工作。
这是我正在使用的:
true do |f| %>
Name
Website
Twitter
谢谢您的帮助。
你可以这样做:
ERB:
<%= f.submit "" %>
CSS:
input[type="submit"] { background:url(mybutton.png); }
我只是摔倒了这个,试图解决同样的问题。 一个突然的想法让我尝试这样的事情:
<%= f.submit "Comment", :type => :image, :src => "/images/comment-button.png" %>
将创建这样的东西:
试试看 :-)
我相信无法在表单构建器对象上调用’tag’方法。
通过’tag’方法,我指的是来自ActionView :: Helpers :: FormTagHelper模块的东西。
如果你这样做,它应该工作:
是的,以下应该工作:
<%= image_submit_tag("comment-button.png") %>
http://apidock.com/rails/ActionView/Helpers/FormTagHelper/image_submit_tag
从Zabba的例子开始,一个更容易获得的解决方案是:
视图:
<%= f.submit "Submit" %>
CSS:
input[type="submit"] { background:url(mybutton.png); text-indent: -9999em; }
请在线使用删除:
<%= f.image_submit_tag("/assets/icon-search.png") %>
变成:
<%= image_submit_tag("/assets/icon-search.png") %>
有关image_submit_tag
更多详细信息
对于rails 3.1及以上版本
<%= f.submit "Submit", :type => :image, :src => image_path("submit.png") %>
您可以使用以下JS技巧。
1)在你的application.js中:
function submitFormWithoutButton(formId) { document.getElementById(formId).submit(); }
2)然后在您的表单中替换f.submit
line(s):
<%= link_to "#", onclick: "submitFormWithoutButton('ID_OF_YOUR_FORM')" do %> <%= image_tag("PATH_TO_YOUR_AWESOME_ICON") %> <% end %>
3)只需要用您的表单的id和路径替换大写占位符,并将其用作要用作按钮的图像文件。
现在,您可以通过友好和顺从的链接提交表单,而不是顽固和棘手的按钮!
如果有帮助,不要忘了投票!