【问题标题】:Django WebTest: Check/uncheck checkbox by valueDjango WebTest:按值选中/取消选中复选框
【发布时间】:2015-12-04 10:41:31
【问题描述】:

我的 WebTest 响应中有一个带有一组复选框(都在同一字段名称下)的表单,我想根据它们的值取消选中其中的一些。我试过这个:

my_form = response.forms['form-i-want']
for i in range(len(my_form.fields.get('field-i-want'))):
    if my_form.fields.get('field-i-want')[i].value == "value-to-uncheck":
        my_form.fields.get('field-i-want')[i].checked = False

显然,这是看起来很 hacky 的代码,必须有更好的方法。此外,这实际上并没有取消选中我想要的框:当我遍历表单中的复选框时,不再有值 value-i-want 的元素:该值已设置为 None。当我提交表单时,它的行为就像对表单什么都没做一样。

【问题讨论】:

    标签: django forms checkbox django-webtest


    【解决方案1】:

    不幸的是,您设置输入的checked 状态的方法确实会产生输入元素被删除的不良副作用。

    根据the docs,要将复选框输入标记为已选中,您需要编写:

    my_form['field-i-want'] = True

    其中'field-i-want' 是输入元素的name 属性的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-25
      • 1970-01-01
      • 2014-05-23
      • 1970-01-01
      • 1970-01-01
      • 2014-09-24
      • 2014-08-07
      相关资源
      最近更新 更多