【问题标题】:WTForms - POSTing text fields to an arrayWTForms - 将文本字段发布到数组
【发布时间】:2015-07-29 22:24:36
【问题描述】:

在常规 HTML 中,您可以将多个字段 POST 到一个数组:

<input type="text" name="arr[]">
<input type="text" name="arr[]">
<input type="text" name="arr[]">
<input type="text" name="arr[]">

如何从 WTForms 获得此功能?基本上,我有一个表单,用户可以在其中单击小加号和减号按钮来添加或删除表单中的字段。

【问题讨论】:

    标签: python flask wtforms


    【解决方案1】:

    您正在寻找 WTForm FieldList。它允许您创建相同字段的任意列表。

    例如

    emails = FieldList(StringField('email'), min_entries=1, max_entries=5)
    

    【讨论】:

    • 如何通过 Javascript 向页面添加额外的“电子邮件”字段?编辑:我想我要问的是 WTForms 是否会知道我添加了另一个字段。
    • 如果您想通过 javascript 执行此操作,您必须查看由 wtforms 生成的代码,并为您要添加的每个附加条目模拟该代码。如果您的新字段符合预期,WTForms 将不会知道其中的差异。它应该能够处理以这种方式添加的字段。
    • 搞定了,谢谢!为了将来参考,当您这样做时,WTForms 会生成一个名为“email-0”的输入字段。当您使用 Javascript 添加另一个时,您需要在末尾增加该数字,因此您的下一个字段将命名为“email-1”,依此类推。
    猜你喜欢
    • 1970-01-01
    • 2014-10-14
    • 2018-08-21
    • 2013-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多