mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Switched to use display:none
in extra_tags_for_form method.
The use of `display:inline` with the content_tag call in the extra_tags_for_form method potentially causes display issues with some browsers, namely Internet Explorer. IE's behaviour of not collapsing the line height on divs with ostensibly no content means that the automatically added div containing the hidden authenticity_token, utf8 and _method form input tags may interfere with other visible form elements in certain circumstances. The use of `display:none` rather than `display:inline` fixes this problem. Fixes #6403
This commit is contained in:
parent
6b54883082
commit
7a085dac2a
6 changed files with 14 additions and 8 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
* Use `display:none` instead of `display:inline` for hidden fields
|
||||||
|
|
||||||
|
Fixes #6403
|
||||||
|
|
||||||
|
*Gaelian Ditchburn*
|
||||||
|
|
||||||
* The `video_tag` helper accepts a number as `:size`
|
* The `video_tag` helper accepts a number as `:size`
|
||||||
|
|
||||||
The `:size` option of the `video_tag` helper now can be specified
|
The `:size` option of the `video_tag` helper now can be specified
|
||||||
|
|
|
@ -51,7 +51,7 @@ module ActionView
|
||||||
# The HTML generated for this would be (modulus formatting):
|
# The HTML generated for this would be (modulus formatting):
|
||||||
#
|
#
|
||||||
# <form action="/people" class="new_person" id="new_person" method="post">
|
# <form action="/people" class="new_person" id="new_person" method="post">
|
||||||
# <div style="margin:0;padding:0;display:inline">
|
# <div style="display:none">
|
||||||
# <input name="authenticity_token" type="hidden" value="NrOp5bsjoLRuK8IW5+dQEYjKGUJDe7TQoZVvq95Wteg=" />
|
# <input name="authenticity_token" type="hidden" value="NrOp5bsjoLRuK8IW5+dQEYjKGUJDe7TQoZVvq95Wteg=" />
|
||||||
# </div>
|
# </div>
|
||||||
# <label for="person_first_name">First name</label>:
|
# <label for="person_first_name">First name</label>:
|
||||||
|
@ -81,7 +81,7 @@ module ActionView
|
||||||
# the code above as is would yield instead:
|
# the code above as is would yield instead:
|
||||||
#
|
#
|
||||||
# <form action="/people/256" class="edit_person" id="edit_person_256" method="post">
|
# <form action="/people/256" class="edit_person" id="edit_person_256" method="post">
|
||||||
# <div style="margin:0;padding:0;display:inline">
|
# <div style="display:none">
|
||||||
# <input name="_method" type="hidden" value="patch" />
|
# <input name="_method" type="hidden" value="patch" />
|
||||||
# <input name="authenticity_token" type="hidden" value="NrOp5bsjoLRuK8IW5+dQEYjKGUJDe7TQoZVvq95Wteg=" />
|
# <input name="authenticity_token" type="hidden" value="NrOp5bsjoLRuK8IW5+dQEYjKGUJDe7TQoZVvq95Wteg=" />
|
||||||
# </div>
|
# </div>
|
||||||
|
@ -315,7 +315,7 @@ module ActionView
|
||||||
# The HTML generated for this would be:
|
# The HTML generated for this would be:
|
||||||
#
|
#
|
||||||
# <form action='http://www.example.com' method='post' data-remote='true'>
|
# <form action='http://www.example.com' method='post' data-remote='true'>
|
||||||
# <div style='margin:0;padding:0;display:inline'>
|
# <div style='display:none'>
|
||||||
# <input name='_method' type='hidden' value='patch' />
|
# <input name='_method' type='hidden' value='patch' />
|
||||||
# </div>
|
# </div>
|
||||||
# ...
|
# ...
|
||||||
|
@ -333,7 +333,7 @@ module ActionView
|
||||||
# The HTML generated for this would be:
|
# The HTML generated for this would be:
|
||||||
#
|
#
|
||||||
# <form action='http://www.example.com' method='post' data-behavior='autosave' name='go'>
|
# <form action='http://www.example.com' method='post' data-behavior='autosave' name='go'>
|
||||||
# <div style='margin:0;padding:0;display:inline'>
|
# <div style='display:none'>
|
||||||
# <input name='_method' type='hidden' value='patch' />
|
# <input name='_method' type='hidden' value='patch' />
|
||||||
# </div>
|
# </div>
|
||||||
# ...
|
# ...
|
||||||
|
|
|
@ -722,7 +722,7 @@ module ActionView
|
||||||
|
|
||||||
enforce_utf8 = html_options.delete("enforce_utf8") { true }
|
enforce_utf8 = html_options.delete("enforce_utf8") { true }
|
||||||
tags = (enforce_utf8 ? utf8_enforcer_tag : ''.html_safe) << method_tag
|
tags = (enforce_utf8 ? utf8_enforcer_tag : ''.html_safe) << method_tag
|
||||||
content_tag(:div, tags, :style => 'margin:0;padding:0;display:inline')
|
content_tag(:div, tags, :style => 'display:none')
|
||||||
end
|
end
|
||||||
|
|
||||||
def form_tag_html(html_options)
|
def form_tag_html(html_options)
|
||||||
|
|
|
@ -59,7 +59,7 @@ class FormHelperActiveRecordTest < ActionView::TestCase
|
||||||
protected
|
protected
|
||||||
|
|
||||||
def hidden_fields(method = nil)
|
def hidden_fields(method = nil)
|
||||||
txt = %{<div style="margin:0;padding:0;display:inline">}
|
txt = %{<div style="display:none">}
|
||||||
txt << %{<input name="utf8" type="hidden" value="✓" />}
|
txt << %{<input name="utf8" type="hidden" value="✓" />}
|
||||||
if method && !%w(get post).include?(method.to_s)
|
if method && !%w(get post).include?(method.to_s)
|
||||||
txt << %{<input name="_method" type="hidden" value="#{method}" />}
|
txt << %{<input name="_method" type="hidden" value="#{method}" />}
|
||||||
|
|
|
@ -3023,7 +3023,7 @@ class FormHelperTest < ActionView::TestCase
|
||||||
protected
|
protected
|
||||||
|
|
||||||
def hidden_fields(method = nil)
|
def hidden_fields(method = nil)
|
||||||
txt = %{<div style="margin:0;padding:0;display:inline">}
|
txt = %{<div style="display:none">}
|
||||||
txt << %{<input name="utf8" type="hidden" value="✓" />}
|
txt << %{<input name="utf8" type="hidden" value="✓" />}
|
||||||
if method && !%w(get post).include?(method.to_s)
|
if method && !%w(get post).include?(method.to_s)
|
||||||
txt << %{<input name="_method" type="hidden" value="#{method}" />}
|
txt << %{<input name="_method" type="hidden" value="#{method}" />}
|
||||||
|
|
|
@ -14,7 +14,7 @@ class FormTagHelperTest < ActionView::TestCase
|
||||||
method = options[:method]
|
method = options[:method]
|
||||||
enforce_utf8 = options.fetch(:enforce_utf8, true)
|
enforce_utf8 = options.fetch(:enforce_utf8, true)
|
||||||
|
|
||||||
txt = %{<div style="margin:0;padding:0;display:inline">}
|
txt = %{<div style="display:none">}
|
||||||
txt << %{<input name="utf8" type="hidden" value="✓" />} if enforce_utf8
|
txt << %{<input name="utf8" type="hidden" value="✓" />} if enforce_utf8
|
||||||
if method && !%w(get post).include?(method.to_s)
|
if method && !%w(get post).include?(method.to_s)
|
||||||
txt << %{<input name="_method" type="hidden" value="#{method}" />}
|
txt << %{<input name="_method" type="hidden" value="#{method}" />}
|
||||||
|
|
Loading…
Reference in a new issue