django - 在选择上发布表单

标签 django forms post submit html-select

我制作了一个简单的 Django 表单,其中包含一个选项列表(在单选按钮中):

class MyForm(forms.Form):
            choices=forms.ChoiceField( widget=forms.RadioSelect(), choices=[(k,k) for k in ['one','two','three']],label="choose one")

我希望表单在用户选择其中一个选项时自动提交。在简单的 HTML 中,我会这样做
  <select name='myselect' onChange="FORM_NAME.submit();">
    ....
  </select>

但是我不知道如何在不编写模板的情况下将其集成到表单类中。具体来说,我需要知道 FORM_NAME所以我可以打电话FORM_NAME.submit()在上面的片段中。
可以不使用模板来完成吗?

最佳答案

我认为您不需要知道表单名称。这也应该有效:

<select name='myselect' onChange="this.form.submit();">

将其集成到您的表单中的快速解决方案包括添加 attribute to your widget .
widget=forms.RadioSelect(attrs={'onchange': 'this.form.submit();'})

现在有人可能会争辩说,这是否与您的表单定义(分离定义、样式和行为)没有更好的分离,但应该这样做。

关于django - 在选择上发布表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4934839/

相关文章:

python - Django Rest Framework 如何返回在所有无效网址上找不到的详细信息?

javascript - 如何使用 javascript 和/或 jquery 添加表单字段值?

jquery ajax 获取示例

c# - ASP.NET Web 控件在第一次回发后显示旧数据

Javascript:为什么我的函数没有被 onclick 调用?

asp.net-mvc - @Html.ActionLink 调用 Post 方法

ruby-on-rails - 将通过 Mailgun 通过电子邮件发送和处理的信息保存到我的应用程序中

django - 尝试与工头在本地测试 django 应用程序

django - 在django中用抽象用户覆盖用户模型的保存方法

python - 如何导入名称不明确的特定模块?