【问题标题】:How to design dynamic form?如何设计动态形式?
【发布时间】:2012-03-19 17:40:51
【问题描述】:

我想设计包含多个字段的表单。某些字段依赖于第一个下拉列表。 如何设计只显示那些需要的?

【问题讨论】:

  • 我担心响应是“手动使用 jquery”。
  • 我想设计一个包含所有字段的有效 django 类并且只显示必需的
  • 解决方案可以将依赖输入设置为隐藏,并在需要时通过 jquery 的可见控件进行更改。
  • 你应该使用 Javascript 并且可能是 AJAX。
  • 为什么是-1?请发表一条投反对票的消息。

标签: javascript django django-forms


【解决方案1】:

您应该在 CSS 中隐藏那些您可能不需要的内容

然后,您应该创建一些 javascript 来根据选择的值显示/隐藏字段。 jQuery 示例:

$('select[name=yourselect]').change(function() {
    switch($(this).val()) {
        case 'someval':
            $('input[name=somefield]').show();
            $('input[name=someotherfield]').hide();
            break;
         // add as many cases as you want, one for each value
    }
})

// this is useful when your select has an initial value, 
// to show/hide the fields depending on the initially selected option
$('select[name=yourselect]').trigger('change');

你也可以server side checks with your form clean() method

【讨论】:

    【解决方案2】:

    如果你想在多个步骤中创建一个动态表单,其中第二个表单依赖于第一个表单值,那么你可以使用 Django 表单向导。如果您不想使用 jquery,这很好。通过这种方式,您还可以为单个表单应用自定义的清洁功能。

    查看form wizard 文档。我希望这对你有用。

    【讨论】:

      猜你喜欢
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      • 2018-09-06
      • 1970-01-01
      • 1970-01-01
      • 2020-10-11
      • 1970-01-01
      • 2012-07-01
      相关资源
      最近更新 更多