我已经设法使用FilterSet在django项目中包含一个表单。它运作良好-没问题。 当我在表单中键入内容进行搜索(例如“ BMW”)时,模板中的表格将被过滤(“ BMW”),尽管我的搜索“ BMW”仍停留在该字段中。因此,我想添加一个“清除”按钮,用户可以单击该按钮,并且“ BMW”从字段中消失,搜索结果返回到初始表。我怎么能意识到这一点?
当前,我已在模板中添加了一个按钮(但是当我单击它时什么也没有发生)
<button type="reset" class="btn btn-primary" onclick="resetEffort()"">
<span class="glyphicon glyphicon-search"></span> Clear
</button>
这是我的view.py:
def cars_overview(request):
car = CarFilter(request.GET, queryset=Car.objects.all())
return render(request, 'cars/cars.html', {'filter': car})
非常感谢!
答案 0 :(得分:0)
您可以拦截事件,暂停事件,清除值,然后使用js提交表单。
document.querySelector('button[type="reset"]').addEventListener('click', function (e) {
e.preventDefault();
this.parentElement.reset();
this.parentElement.submit();
})