我有一个很长的表格,我想分成多个页面。
我正在评估两个演示选项:
- 使用 FormWizard 在多个页面上呈现表单
- 在 slider 上显示表单,例如 CSS3 slider .
slider 实际上只有一页长,使用 CSS3 给人以幻灯片的印象。它使所有内容区域并排 float , overflow hidden ,如果我们有 5 张幻灯片,则将页面 width
设置为 500%,并移动左边距 -100% 以显示下一张幻灯片.所以它都是一页,但看起来表单显示在滑动页面上。
对我来说, slider 方法的优点是只有一个表单,用户只在幻灯片结束时提交一次表单,因此可以来回进行更改。(这将是一种常见情况) .
相对于 FormWizard
的迷你表单并在每个页面后提交它们。对我来说,FormWizards
似乎很复杂,尤其是当用户想要更改任何以前的页面响应时。我还需要在我的表单页面上使用 FileField
,而且 FormWizard
似乎只在最后一页接受 FileField
。
但是,我还没有看到很多人使用这种滑动表单(CSS3 或 JScript 之一)方法。因此,作为新手,我想知道这样做是否有一些明显的陷阱?
最佳答案
我只能写FormWizard
,因为我以前用过它。根据可以在
https://docs.djangoproject.com/en/dev/ref/contrib/formtools/form-wizard/
FileField
可以在您的FormWizard
实现的任何步骤中使用。我发现使用 Django 的 FormWizard
真正有用的是,它为您提供了 Forms
的所有标准功能。这意味着您可以轻松地创建和操作表单、在每个步骤中验证字段等。我不知道 CSS3 slider 如何完成验证,但我想验证应该在客户端进行。
此外,Django 的 FormWizard
使用 Cookie 存储后端或 Session 存储后端来存储信息,这使得步骤之间的导航和修改先前存储的数据变得非常简单。
希望我对您的决定有所帮助!当然,在我上面提供的链接中的 FormWizard
的 Django 文档中可以找到更多信息。
关于django - 多页 django 表单 - slider 或 FormWizard?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11302572/