WTForms:获取相关数据

时间:2014-08-15 20:39:09

标签: javascript python json flask flask-wtforms

我有 Flask Flask-WTF 我试图实现表单,该表单应根据来自另一个(上一个)字段的选定值更改choices SelectField列表(并且可能会更改输入集)。

我的意思是......例子。

实施例。 A:

有初始表格

Manufacturer: [ ----- ]  // Options are: Ford, KIA, Honda ...
Model:        [ ----- ]  // No options, disabled
...           .........  // Other fields

然后,用户选择Ford,并显示适当的options模型

Manufacturer: [ Ford  ]  // Options are: Ford, KIA, Honda ... still posible to change
Model:        [ ----- ]  // Options are: Focus, Mondeo, Mustang, ...
...           .........  // Other fields

或者,也许是alt。行为,例如B:

有初始表格

Manufacturer: [ ----- ]  // Options are: Ford, KIA, Honda ...

然后,用户选择Ford,并使用适当的选项显示Model字段

Manufacturer: [ Ford  ]  // Options are: Ford, KIA, Honda ... still possible to change
Model:        [ ----- ]  // Options are: Focus, Mondeo, Mustang, ...

或者,可能是"向导",例如。 C:

有初始表格

Manufacturer: [ ----- ]  // Options are: Ford, KIA, Honda ...
[ next ]                 // button

然后,用户选择Ford,点击next,并显示Model字段,而前一个字段成为标签

Manufacturer:   Ford     // Just a label
Model:        [ ----- ]  // Options are: Focus, Mondeo, Mustang, ...
[prev] [ next ]          // buttons

我有一些想法,怎么做。

1)当用户选择(任何)字段时,我会为新表单发出POST请求。这是可能的,因为我做了非常轻量级的应用程序。它很容易实现,但可能很烦人,而且不如我想要的那么好。

2)当用户选择字段时,从服务器(json / pson)获取相关字段的选项,并且此相关字段将更新并解锁。

3)" C"行为是最简单的实施,但它不是本世纪的

第二个想法听起来不错......但我对js反击并不是很好。


那么..问题是如何实现这样的形式? 任何好的教程/文档的链接都会很棒(我用Google搜索,但没有找到)

1 个答案:

答案 0 :(得分:1)

我相信有两种好方法可以达到你想要的效果。

  1. 使用AJAX根据用户选择加载所需选项(如您的第二个想法所示)
  2. 如果选项列表不大,您可以将所有选项嵌入为javascript对象,并使用javascript根据用户选择加载适当的选项。恩。 http://www.javascriptkit.com/javatutors/selectcontent.shtml
  3. 第二种方法的优点是从用户的角度来看响应更快,因为所需的所有数据都已经在页面上。

    你提到javascript不是很好,但我不认为还有另一种方法可以做你想做的事情,除非你可以接受你的第一个想法。