将提交按钮图像添加到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") %>

是的,以下应该工作:

  <%= 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和路径替换大写占位符,并将其用作要用作按钮的图像文件。

现在,您可以通过友好和顺从的链接提交表单,而不是顽固和棘手的按钮!

如果有帮助,不要忘了投票!