【问题标题】:WTForms-Javascript: pass onclick to WTF fieldWTForms-Javascript:将 onclick 传递给 WTF 字段
【发布时间】:2018-06-07 18:05:17
【问题描述】:

有没有办法将“onclick”传递到 WTForm 字段?我想根据是否选中 WTF 复选框来启用/禁用字段。但是来自 WTForms 的 HTML 没有创建或具有“onclick”参数。

我有一个表格:

class test(Form):
    checkbox=BooleanField('Checkbox')
    required=TextField('Required if checked')

我有 JS:

function disablefld(){
  cb=document.getElementById('checkbox').checked;
  document.getElementById('required').disabled=!cb;
  }

为复选框生成的 HTML WTForms 是: <input id="checkbox" name="checkbox" type="checkbox" value="y">。它不起作用,因为onclick 不存在。

我试过checkbox=BooleanField('Checkbox', onclick="disablefld()"),但这是一个意外的论点。这是可能的还是我应该只用纯 html 制作表单?

【问题讨论】:

    标签: javascript html forms flask wtforms


    【解决方案1】:

    您需要在呈现表单时传递额外的参数。

    {% block content %}
    {{ form.checkbox(onchange="doStuff()") }}
    {{ form.required() }}
    <script>
    function doStuff(){
      var checked = document.getElementById('checkbox').checked
      if (checked){
        document.getElementById('required').disabled = true
      } else {
        document.getElementById('required').disabled = false
      }
    }
    doStuff()
    </script>
    
    {% endblock %}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-07
      • 1970-01-01
      • 1970-01-01
      • 2014-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多