2016-10-18 12 views
2

私はデータを表示するためにDjangoフォームを使用しています。Django - フォームフィールドの変更

2つのオプションa)教師とb)学生があるHTML選択フィールドがあります。

Djangoのフォーム: - トピックを -

self.fields['account_type'].choices = [('student','Student'),('teacher', 'Teacher')] 

self.helper.layout = Layout(
        HTML('''<h5>Sign Up Information</h5>'''), 
        Div(
         Field('account_type', placeholder="Account Type", css_class='form-control'), 
         css_class = 'form-group' 
        ),    

あなたが「学生」または「教師」を選択するかどうかに基づいて、あなたは自動別のフィールドを移入する必要があります。 Djangoのフォームで 'onchange'イベントをどのようにして起動できますか?

答えて

1

Django Crispyフォームを使用していて、普通のDjangoフォームではないようです。

あなたがonchange属性を設定したい場合は、あなたがより良い方法は、その要素にIDを与えることであろうdescribed in the docs.

Field('account_type', 
     placeholder="Account Type", 
     css_class='form-control', 
     onchange="myChangeHander()" 
) 

として、単にキーワード引数としてそれを渡すことができるはずと接続しますJavaScriptのイベントです。

$("#account_type_id").on("change", function() {...});  
:あなたはjQueryのを使用すると仮定すると、

Field('account_type', 
     placeholder="Account Type", 
     css_class='form-control', 
     css_id="account_type_id" 
) 

は、あなたが<script>タグやJavaScriptファイル内でこのどこかのようなものを置きます

関連する問題