我看到没有按钮的表单非常流行(就像这里)。在用户选择字段(示例 1)或输入文本并单击某些内容(这意味着完成输入)(示例 2)后,如何创建一个将在 Django 中自动提交两个不同字段的表单:
1.) 选择字段
表格.py
class Search(forms.Form):
field = forms.ChoiceField(choices=MY_CHOICES)
Run Code Online (Sandbox Code Playgroud)
视图.py
if request.method == "GET":
form = Search(request.GET)
if form.is_valid():
print('it's work')
Run Code Online (Sandbox Code Playgroud)
模板.html
<form method="GET">
{% csrf_token %}
{{ form }}
</form>
Run Code Online (Sandbox Code Playgroud)
2.) 字符字段
表格.py
class Search(forms.Form):
field = forms.CharField(max_length=10)
Run Code Online (Sandbox Code Playgroud)
*其他文件如上
您可以简单地更改forms.py:
class Search(forms.Form):
field = forms.ChoiceField(choices=MY_CHOICES,
widget=forms.Select(attrs={'onchange': 'submit();'}))
Run Code Online (Sandbox Code Playgroud)
无需添加任何其他内容,无需 jquery。
另请参见此处。
您可以像这样在模板中使用 jquery:
$('#search_field').change(function(){
$('#your_form').submit()
});
Run Code Online (Sandbox Code Playgroud)
或者当用户点击某物时:
$('#something').click(function(){
$('#your_form').submit()
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3268 次 |
| 最近记录: |