WTForms-Javascript: передать клик в поле WTF - PullRequest
0 голосов
/ 07 июня 2018

Есть ли способ передать "onclick" в поле WTForm?Я хотел бы включить / отключить поле в зависимости от того, установлен ли флажок WTF.Но HTML из WTForms не создает или не имеет параметра «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?

1 Ответ

0 голосов
/ 08 июня 2018

Вам нужно передать дополнительные аргументы при отображении вашей формы.

{% 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 %}
...