【问题标题】:Form without submit button in DjangoDjango中没有提交按钮的表单
【发布时间】:2020-03-21 23:51:50
【问题描述】:

我看到没有按钮的表单很受欢迎(比如here)。如何在用户选择字段(示例1)或输入文本并单击某些内容(表示完成输入)后,在Django中创建一个自动提交两个不同字段的表单(示例2):

1.) 选择字段

forms.py

class Search(forms.Form):
    field = forms.ChoiceField(choices=MY_CHOICES)

views.py

if request.method == "GET":
    form = Search(request.GET)
    if form.is_valid():
    print('it's work')

template.html

<form method="GET">
  {% csrf_token %}
  {{ form }}
</form>

2.) 字符域

forms.py

class Search(forms.Form):
    field = forms.CharField(max_length=10)

* 上面的其他文件

【问题讨论】:

  • 您在字段上设置了on_change 事件,并使用AJAX 请求。
  • 也许这是我的小经验,但你能举个例子说明它应该是什么样的 AJAX 请求吗?

标签: javascript django


【解决方案1】:

您可以简单地更改 forms.py

class Search(forms.Form):
    field = forms.ChoiceField(choices=MY_CHOICES,
        widget=forms.Select(attrs={'onchange': 'submit();'}))

无需添加任何其他内容,无需 jquery。

另见here

【讨论】:

    【解决方案2】:

    您可以像这样在模板中使用 jquery:

    $('#search_field').change(function(){
        $('#your_form').submit()
    });
    

    或者当用户点击某物时:

    $('#something').click(function(){
        $('#your_form').submit()
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多