从Python表单字段触发javascript

从Python表单字段触发javascript,javascript,flask-wtforms,Javascript,Flask Wtforms,我的网站上有一个Flask表单(通过WTForms),我试图根据用户是否选中或取消选中复选框来启用或禁用表单中的其他字段(这样做不必刷新页面),但是,我试图通过在HTML中使用onchange或onclick事件来实现这一点的尝试没有成功。我的字段定义如下(标签和字段) {{form.task_submit_sms.label(class=“col-sm-3 text-right-control-label col-form-label”)} {{form.task\u submit\u sm

我的网站上有一个Flask表单(通过WTForms),我试图根据用户是否选中或取消选中复选框来启用或禁用表单中的其他字段(这样做不必刷新页面),但是,我试图通过在HTML中使用onchange或onclick事件来实现这一点的尝试没有成功。我的字段定义如下(标签和字段)


{{form.task_submit_sms.label(class=“col-sm-3 text-right-control-label col-form-label”)}
{{form.task\u submit\u sms(class=“custom control custom checkbox”onclick=“enableSMSFields()”)}

我试过onclick和onchange。并获取以下错误:

jinja2.exceptions.TemplateSyntaxError:应为标记“,”,已获取 “onclick”

不确定是否相关,但以下是我的JavaScript:

<script>
  // Lock SMS fields unless required
  function enableSMSFields()
  {
    if (document.getElementById('task_submit_sms').checked == true)
    {
      document.getElementById('task_sms_text').removeAttribute('disabled');
    }
    else
    {
      document.getElementById('task_sms_text').setAttribute('disabled','disabled')
    }
  }
</script>

//除非需要,否则锁定SMS字段
功能启用SMSFields()
{
if(document.getElementById('task\u submit\u sms')。checked==true)
{
document.getElementById('task_sms_text')。removeAttribute('disabled');
}
其他的
{
document.getElementById('task\u sms\u text').setAttribute('disabled','disabled'))
}
}

这是花括号内的一个函数,您正在传递用逗号分隔的参数(这就是错误告诉您的):

你试过插入逗号分隔符吗

{{ form.task_submit_sms(class_="custom-control custom-checkbox", onclick="enableSMSFields()") }}

这是花括号内的一个函数,您正在传递由逗号分隔的参数(这就是错误告诉您的):

你试过插入逗号分隔符吗

{{ form.task_submit_sms(class_="custom-control custom-checkbox", onclick="enableSMSFields()") }}
{{ form.task_submit_sms(class_="custom-control custom-checkbox", onclick="enableSMSFields()") }}