【问题标题】:Django -- Form Field on changeDjango - 更改表单字段
【发布时间】:2017-02-28 05:05:59
【问题描述】:

我正在使用 Django 表单来显示数据。

有一个 HTML 选择字段 - 它有 2 个选项 a) 教师和 b) 学生。

Django 表单:-

self.fields['account_type'].choices = [('student','Student'),('teacher', 'Teacher')]

self.helper.layout = Layout(
                    HTML('''<h5>Sign Up Information</h5>'''),
                    Div(
                        Field('account_type', placeholder="Account Type", css_class='form-control'),
                        css_class = 'form-group'
                    ),            

根据您选择“学生”还是“教师”,您需要自动填充另一个字段 - 主题。如何在 Django 表单中触发“onchange”事件。

【问题讨论】:

    标签: python django


    【解决方案1】:

    看起来您使用的是 Django Crispy 表单,而不是普通的 Django 表单。

    如果你想设置onchange 属性,你应该可以将它作为关键字参数传递,如described in the docs.

    Field('account_type',
          placeholder="Account Type",
          css_class='form-control',
          onchange="myChangeHander()"
    )
    

    更好的方法是给该元素一个 id 并在 JavaScript 中附加一个事件。

    Field('account_type',
          placeholder="Account Type",
          css_class='form-control',
          css_id="account_type_id"
    )
    

    假设您使用 jQuery,您会在 &lt;script&gt; 标记或 JavaScript 文件中的某处放置类似的内容:

    $("#account_type_id").on("change", function() {...});      
    

    【讨论】:

      猜你喜欢
      • 2017-06-06
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 2018-04-17
      相关资源
      最近更新 更多