display:none要素内のフォームフィールドを送信します


84

私は6つのステップに分割した長いフォームを持っています。フォームが読み込まれると、すべてのステップが読み込まれますが、最初のステップのみが表示されます。残りはCSSをdisplay:none持っているので、非表示になっています。ステップが完了し、Javascriptで検証されるdisplay:noneと、現在のステップがに設定され、新しいステップがに設定されdisplay:blockます。最後のステップで、ユーザーはフォームを送信します。ただし、予想どおり、display:blockページの要素のフィールドのみが送信されます。の要素で完了したフィールドはすべてdisplay:none無視されます。

display:none要素内のフィールドを送信する方法はありますか?

そうでない場合、同じ効果を達成する別の方法はありますか?


12
この動作はどのブラウザで見られましたか?display: none私のすべてのテストで、ブラウザーはコンテナー内のフォーム要素を送信しているようです。
震え2014年

回答:


177

それらをvisibility:hiddenposition:absoluteに設定します。フィールドが持つサーバーに送信されることはありませんdisplay:noneが、となりますvisibility:hidden。また、「位置」を「絶対」に切り替えることで、同じ視覚効果が得られるはずです。

更新これは、現在のブラウザでは問題になっていないようです(2015年11月現在)。表示が「なし」に設定されている場合でも、フィールドは送信されます。ただし、「無効」になっているフィールドは引き続き送信されません。


26
これは、現在のブラウザでは問題になっていないようです。表示が「なし」に設定されている場合でも、フィールドは送信されます。ただし、「無効」になっているフィールドは引き続き送信されません。
adam0101 2012

3
IE8(サプライズ!)には、に設定されているフィールドの投稿に関する問題がまだありますdisplay:none;。フィールドの上に別のHTML要素が配置されている場合も、同じ問題が発生します。
エリックTöyräSilfverswärd

2
@ Pacerier、yesdisabledは値が送信されないようにしますが、一部の古いブラウザーでdisplay:noneは、この効果もあります。この回答は4年前に投稿されたものであり、古いブラウザ向けに開発する必要のある開発者にのみ適用されることに注意してください。
adam0101 2015年

2
1月20日で、最新バージョンのクロムとFirefoxを使用していますが、ロード時に以前に非表示にされたフィールドを投稿することはできません
Masinde Muliro 2016年

3
ここのChrome49は、display:none内の入力要素の送信が機能しないことを確認できます。
csvan 2016

4

HTML4のセクション17.13.2には、display:noneを使用した非表示のコントロールでも送信に有効である可能性があることが明示されています。

https://www.w3.org/TR/html401/interact/forms.html

したがって、ブラウザがdisplay:noneを無視する場合、完全にHTML対応ではありません。実際のブラウザに切り替えることをお勧めします。


1
プログラマーは訪問者にどのブラウザーを使用しているのかを伝えることができず、最新のFirefoxでも同じ問題が発生しています。display:noneまたはvisibility:hiddenを試していますが、どちらも機能しません。
DonP

他に誰が「ブラウザをアップグレードする時が来た」というバナーをこれほど多くのサイトに配置していますか?;-) わかった。「プログラマーが訪問者に使用するブラウザーを教えられない」という意味ではありませんでした。表現の自由を侵害することになります...おそらく「雇われたプログラマー」を意味していました。OK。私の投稿はあまり役に立ちませんでした。なぜなら、標準によって指示された正しい動作が何であるかを指摘したかっただけだからです。それでおしまい。
エリクソン

1
いずれにせよ、visibility:hidden(そしておそらくdisplay:none)についての私のコメントは、私の場合はHTML標準に書き込まれたバグ、またはむしろ見落としであることに気付いたので、意味がありませんでした。チェックボックスがオフになっていてフォームが送信された場合、それはそこにさえないかのようです。何も送信しない(二重否定を許す)だけでなく、まったく送信しません。
DonP

そのため、当時はHTMLに準拠していない風変わりなブラウザではなかったようです。名探偵コナン。
エリクソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.