dbn*_*dbn 3 django django-forms
在我的 Django 支持的站点上,我有一个包含多个可选字段的搜索页面。搜索页面是django形式,我的view函数是典型的:
def search(request):
form = SearchForm(request.GET or None)
if form.is_valid():
return form.display_results(request)
return render(request, 'search.html', {'form': form})
Run Code Online (Sandbox Code Playgroud)
Form.display_results() 使用提供的字段来查询数据库并呈现响应。我的 search.html 包括:
<form action="/search/" method="get">{% csrf_token %}
<!-- Render the form fields -->
<input type="submit" value="Search" />
<input type="reset" value="Reset form" />
</form>
Run Code Online (Sandbox Code Playgroud)
由于大多数搜索都会有几个空白字段,我不想将它们包含在 search.html 上的提交按钮发出的 GET 请求中。当前搜索类似于:
http://mysite/search/?csrfmiddlewaretoken=blah&optional_field1=&optional_field2=&optional_field3=oohIWantThisOne
Run Code Online (Sandbox Code Playgroud)
我希望它们看起来像:
http://mysite/search/?csrfmiddlewaretoken=blah&optional_field3=oohIWantThisOne
Run Code Online (Sandbox Code Playgroud)
当然,我还有几个领域。这会很好,因为它会使搜索 URL 更容易被人类解析和共享。
您可以将 jQuery 与按钮触发器一起使用。提供表单并提交按钮 ID。
$("#button_id").click(function(){
$("input").each(function(){
if($(this).val() == '') {
$(this).remove();
}
});
$("#form_id").submit();
});
Run Code Online (Sandbox Code Playgroud)
那(或类似的东西)应该在提交之前删除所有空字段。
| 归档时间: |
|
| 查看次数: |
2262 次 |
| 最近记录: |