我有一个很长的表格,分为 6 个步骤。加载表单时,将加载所有步骤,但只有第一步可见。其余的具有 display:none
的 CSS,因此它们被隐藏了。当一个步骤完成并使用 Javascript 验证时,当前步骤设置为 display:none
并且新步骤设置为 display:block
。在最后一步,用户提交表单。但是,正如预期的那样,仅提交了页面上 display:block
元素中的字段。元素中带有 display:none
的所有已完成字段都将被忽略。
有没有办法提交 display:none
元素中的字段?
如果没有,是否有另一种方法可以达到同样的效果?
原文由 Nick Petrie 发布,翻译遵循 CC BY-SA 4.0 许可协议
将它们设置为
visibility:hidden
和position:absolute
代替。这些字段不会通过display:none
visibility:hidden
到服务器。通过同时将“position”切换为“absolute”,您应该会获得相同的视觉效果。更新 这似乎不再是任何当前浏览器的问题(截至 2015 年 11 月)。即使显示设置为“无”,也会提交字段。但是,“禁用”的字段将继续不提交。