チェックボックスがあるhtmlでフォームを作成しており、チェックするとJavascriptを使用して別のチェックボックスが表示されます。そのフォームを django のフォーム ライブラリを使用するように変更しましたが、django 入力フィールドの表示属性にアクセスする方法がわかりません。HideInput ウィジェットを試してみましたが、ボックス自体だけでラベルが非表示になるわけではありません。
django フォーム オブジェクトの表示属性を設定する方法、および/または Javascript を使用してこれらの属性を切り替える方法についてのヘルプは素晴らしいものであり、django フォームでイベント属性をコーディングする方法は素晴らしいものです!
models.py:
class ContactForm(forms.Form):
Contact = forms.BooleanField(required=False, widget=CheckboxInput())
More = forms.BooleanField(required=False, widget=CheckboxInput())
html ページ:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
$(function(){
$('#id_Contact').click(function(){
if($('#id_Contact').is(':checked')){
$('#id_More').show();
}
});
});
function ifChecked(id, id2){
var ele = document.getElementById(id);
var ele2 = document.getElementById(id2);
if(ele.checked){
ele2.style.display = "block";
}
else{
ele2.style.display = "none";
}
}
</script>
<form action="/contact/" method="post">
{% for field in form %}
<div class="fieldWrapper">
{{ field.errors }}
{{ field.label_tag }}: {{ field }}
</div>
{% endfor %}
<p><input type="submit" value="Send message" /></p>
</form>