基于Django中字段输入的动态操作

时间:2016-01-03 12:24:27

标签: django dynamic django-forms wms

我试图建立一个Django网站,但经过大量的研究和教程,我仍然无法找到答案。在GUI工具包中,当用户在字段或任何其他类型的事件中键入字符时,通常存在执行某些操作(例如,有效性检查)的选项。

Django Web界面中是否有等效的事件操作功能以及如何操作?

具体来说,我希望用户能够在字段中编写WMS网址,并且在输入时或单击按钮时,在同一屏幕中预先存在的geodjango地图窗口小部件将被更新以显示wms和可能缩放到其范围。这是否必须使用更新的html代码重新加载整个html页面,还是可以在不重新加载的情况下完成?

另一个例子是,如果用户从选择字段中选择一个国家/地区来将地图缩放到所选国家/地区(假设我们可以找到范围)。

1 个答案:

答案 0 :(得分:0)

正如@ daniel-roseman所说,你真正想要的是一个JavaScript解决方案,因为它不是真正的Django问题。

您可以在Django中创建一个视图,为AJAX请求吐出HTML,但您可能会发现只使用jQuery更简单,挂钩到输入的change事件(或者更好的是,挂钩到keydown输入事件。)

使用keydown事件的一个警告是,您应该将回调附加到计时器,因为您的回调在读取输入控件的完整文本之前运行(即:如果您的用户键入“appl” ,然后点击最后的“e”,最后keydown事件只会给你值“appl”,除非你把它附加到一个计时器......它有点hacky但它​​有效。)

您可以考虑将此重新发布为JavaScript或jQuery问题,您可能会获得更多有用的回复。我可以详细介绍但不知道你使用JavaScript的舒适程度,我不知道我是否会教你吮吸鸡蛋:)