我希望使用Flask-WTForms来创建一个输入表单,其字段会根据其他字段中的内容而变化。
例如,假设有一个“输入联系人”复选框。点击后,会显示(或激活)新字段,以便为联系人输入姓名和号码。
使用WTForms和Flask可以吗?或者我需要使用Javascript吗?
非常感谢, 亚历
答案 0 :(得分:4)
可以不使用Javascript,但这取决于您想要的用户体验。
WTForms只能与客户端 - 服务器往返中的数据进行交互,它不会在浏览器端自行执行任何操作。因此,如果在选中此框后发生了提交,那么您显示了联系表单,那么在没有任何JavaScript的情况下完成此操作是完全合理的。
需要注意的是,您必须执行表单发布,从而有效地导致页面刷新并再次加载。好处是,这很容易以与所有浏览器兼容的方式进行,而无需处理javascript。
当然,替代方法是使用javascript(或某些JS框架,如jQuery)绑定在选中该复选框时发生的操作,从而导致其他字段变为可见。这与人们在今天的应用程序中对此类操作所期望的用户界面更加一致,但它确实需要更多的工作。