根据表单中其他字段的输入更改 WTForm 字段

Changing WTForm fields depending on input into other fields in the form

我希望使用 Flask-WTForms 制作一个输入表单,其字段会根据其他字段中的内容而变化。

例如,假设 "Input Contact" 有一个复选框。单击该按钮后,将出现(或激活)新字段以输入联系人的姓名和电话号码。

可以使用 WTForms 和 Flask 吗?或者我需要使用 Javascript?

非常感谢, 亚历克斯

不使用Javascript也是可以的,但这取决于你想要的用户体验。

WTForms 只能与客户端-服务器往返中的数据进行交互,它本身不会在浏览器端执行任何操作。因此,如果在选中该框后发生了提交,然后您显示了联系表,那么在没有任何 javascript.

的情况下执行此操作是完全合理的

需要注意的是,您必须创建一个表单 post,有效地导致页面刷新并再次加载。好的一面是,这很容易以与所有浏览器兼容的方式实现,而无需处理 javascript.

当然,另一种方法是使用 javascript(或某些 JS 框架,如 jQuery)绑定在选中该复选框时发生的操作,从而使其他字段可见。这更符合人们在当今应用程序中针对此类操作所期望的用户界面,但确实需要做更多的工作。