2011-06-06 109 views
0

我正試圖在客戶端創建一個自動完成模型表單。我有自動完成的部分;我可以輸入一個字段並讓服務器返回一個序列化對象(包括它們的主鍵)的列表。現在,我如何用這些對象之一填充客戶端HTML表單?我可以遍歷表單中的所有已知字段(以及對象的已知成員)並插入每個字段,但肯定必須有一種更清晰的方式。如何通過Ajax填充Django表單?

爲什麼它值得我使用JQuery。

回答

2

在客戶端,Django表單只是一個常規的html表單,而且由於您使用的是Ajax,我不認爲會有任何Django特定的方式來處理這個問題。儘管循環似乎並不是一個壞主意。除非你以某種方式在循環中編寫表單域元素名稱。您的序列化對象和Django表單的表單字段名稱之間應該存在一些一致的關係。這意味着您應該能夠使用JQuery遍歷表單並自動在您的序列化對象之一中找到相應的字段值。如果有的話,選擇字段可能是你最大的挑戰。您也可以查看序列化對象中的字段,然後通過其id找到相應的表單字段,然後使用JQuery設置它的值。 Django的表單元素ID通常遵循我認爲的格式id_fieldname。