轨道上的红宝石 - 创建<button>字段而不是 <input>?



我想知道如何让formtastic将提交按钮呈现为:

<button … >

而不是:

<input type="submit" … >

有什么想法吗?

我不是贡献者,但我想这是因为按钮元素具有更丰富的视觉呈现可能性。按钮元素的唯一问题是支持旧版本的IE(尤其是IE6),并试图通过按钮传递名称/值对。如果您不需要支持IE6,那么button元素工作得很好,在单击时隐式提交,与请求一起传递名称/值对,并且可以包含任意HTML。

很好地讨论了这里的优点/缺点:

<按钮>与<输入类型=";按钮"/>。使用哪个?

这可能就是您想要的。

这是Github:上formtastic/lib/formtastic/actions/button_action.rb的摘录

#   <%= semantic_form_for(@post) do |f| %>
#     <%= f.actions do %>
#       <%= f.action :reset, :as => :button %>
#       <%= f.action :submit, :as => :button %>
#     <% end %>
#   <% end %>
#
#   <form...>
#     <fieldset class="actions">
#       <ol>
#         <li class="action button_action" id="post_reset_action">
#           <button type="reset" value="Reset">
#         </li>
#         <li class="action button_action" id="post_submit_action">
#           <button type="submit" value="Create Post">
#         </li>
#       </ol>
#     </fieldset>
#   </form>

如果这并不能完全满足你的需求,你可以随时使用Formtastic!

参考

  • Github上的Formtastic

最新更新