如何使用从Django中的自动完成获得的搜索词发送POST请求

时间:2014-05-12 20:59:42

标签: jquery python ajax django

我正在使用自动完成表单(Django-ajax-choices),它返回数据库中项目的下拉列表。用户单击某个项目后,将使用该项目的名称填充搜索字段。我希望能够接受搜索栏中的任何术语,然后在用户按Enter键后,页面导航到用户输入搜索栏的帖子。

<form method="POST" action="/builds/show/">{% csrf_token %}

action中的上面的url需要在数据库中附加项目的名称。 因此,如果数据库中项目的名称为First Post,则action中的网址应为:

<form method="POST" action="/builds/show/First__Build">{% csrf_token %}

我想知道是否有任何方法可以从输入字段中取出这个术语,如html中所示:

<input type="text" class="form-control" placeholder="Search..." name="search" id="id_postField" onkeyup="searchOpen()" data-plugin-options="{&quot;min_length&quot;: 1, &quot;html&quot;: true, &quot;source&quot;: &quot;/builds/autocomplete/ajax_lookup/PostsTable&quot;}" data-ajax-select="autocomplete" autocomplete="off" value="" name="postField"></input>

我知道如何使用命名网址在Django中执行此操作,但有没有办法在html端完成此操作?

这是ajax自动完成的示例: Example

1 个答案:

答案 0 :(得分:1)

您可以使用jquery在表单上设置action属性,如下所示:

$("#id_of_form").attr("action", "/builds/show/" + $("#id_postField").val())

#id_of_form是您的表单ID或您可以用来选择表单的任何其他选择器。