我有一个很长的表单,我想分成多个页面。
我正在评估两种呈现方式:
滑块实际上只有一页长,使用CSS3来给幻灯片留下印象。它浮动所有内容区域彼此相邻,隐藏溢出,如果我们有5张幻灯片,则将页面width
设置为500%,并移动左边距-100%以显示下一张幻灯片。所以它只是一页,但似乎表格正在滑动页面上显示。
对我而言,滑块方法的优点是只有一个表单,用户只在幻灯片末尾提交表单一次,因此可以来回进行更改。(这是常见的情况) 。
与FormWizard
使用迷你表格并在每页后提交。对我而言,FormWizards
似乎很复杂,特别是如果用户想要更改以前的任何页面回复。我的表单页面上还需要FileField
,似乎FormWizard
仅在最后一页上接受FileField
。
但是,我还没有看到很多人使用这种滑动形式(CSS3或JScript one)的方法。因此,作为一个新手,我想知道这样做是否存在一些明显的陷阱?
答案 0 :(得分:1)
我之前只能写FormWizard
。根据Django文档的“处理文件”部分,可以在
https://docs.djangoproject.com/en/dev/ref/contrib/formtools/form-wizard/
FileField
可用于FormWizard
实施的任何步骤。我发现使用Django的FormWizard
非常有帮助的是,它为您提供了Forms
的所有标准功能。这意味着您可以轻松地创建和操作表单,验证每个步骤中的字段等。我不知道CSS3滑块如何完成验证,但我想验证应该在客户端进行。
此外,Django的FormWizard
使用Cookie存储后端或会话存储后端来存储信息,这使得在步骤之间导航和修改以前存储的数据非常简单。
我希望我帮助你做出决定!当然,我在上面提供的链接中的FormWizard
的Django文档中可以找到更多信息。