一尘不染

在display:none元素内提交表单字段

javascript

我有一个很长的表格,分为6个步骤。加载表单后,将加载所有步骤,但是只有第一步可见。其余的具有CSS,display:none因此它们是隐藏的。完成一个步骤并使用Javascript进行验证后,当前步骤将设置为display:none,新步骤将设置为display:block。在最后一步,用户提交表单。但是,正如预期的那样,仅display:block提交页面上元素中的字段。元素中所有完成的字段都将display:none被忽略。

有没有一种方法可以提交display:none元素内的字段?

如果没有,还有其他方法可以达到相同的效果吗?


阅读 1041

收藏
2020-05-01

共1个答案

一尘不染

将它们设置为visibility:hiddenposition:absolute。字段不会与一起发送到服务器display:none,而是与一起发送到服务器visibility:hidden。通过将“位置”切换为“绝对”,您应该获得相同的视觉效果。

更新 在任何当前浏览器中(从2015年11月开始),这似乎不再是问题。即使显示设置为“无”,也会提交字段。但是,“禁用”的字段将继续不提交。

2020-05-01