2011-06-06 85 views
0

我正试图在客户端创建一个自动完成模型表单。我有自动完成的部分;我可以输入一个字段并让服务器返回一个序列化对象(包括它们的主键)的列表。现在,我如何用这些对象之一填充客户端HTML表单?我可以遍历表单中的所有已知字段(以及对象的已知成员)并插入每个字段,但肯定必须有一种更清晰的方式。如何通过Ajax填充Django表单?

为什么它值得我使用JQuery。

回答

2

在客户端,Django表单只是一个常规的html表单,而且由于您使用的是Ajax,我不认为会有任何Django特定的方式来处理这个问题。尽管循环似乎并不是一个坏主意。除非你以某种方式在循环中编写表单域元素名称。您的序列化对象和Django表单的表单字段名称之间应该存在一些一致的关系。这意味着您应该能够使用JQuery遍历表单并自动在您的序列化对象之一中找到相应的字段值。如果有的话,选择字段可能是你最大的挑战。您也可以查看序列化对象中的字段,然后通过其id找到相应的表单字段,然后使用JQuery设置它的值。 Django的表单元素ID通常遵循我认为的格式id_fieldname。