2017-06-18 15 views
0

目的: Djangoフォームからmodelchoiceフィールドに、複数のチェックボックスが表示されます。しかし、各チェックボックスには、正確に1つのテキストボックスを表示してから提出したいと思います。私は、チェックボックスが選択されていないかどうかを知る必要があります、それはまだIDと可能なテキストボックスの値です。それがAjaxなら、どうすれば達成できますか?詳しく教えてください。私はかなり新しいdjangoであり、ajaxであまり仕事をしていないからです。Djangoは、モデル選択フィールドの値の数に基づいて動的にフォームにフィールドを追加します。

+1

モデルに関する詳細を教えてください。 Djangoはモデルから自動的にウィジェットを作成することができますが、1つのフィールドまたは複数のフィールドしかない場合は、どうやってその計画を立てるのかははっきりしません。 – jgmh

+0

モデルはM2Mモデルです...基本的には学校のアプリです...私の問題モデルは特定のクラスに登録されている人です。アタッシュ・レジスター 私がやっていることは、モデル内のFKです。私はそれらを個別に表示して、現在のものとしてチェック/選択し、存在しないものを表示する必要があります。オプションでコメント(テキストボックス)を与える必要があります。これは、各生徒のためにテキストボックスを表示させる方法と、生徒IDがない場合は適切な生徒IDを取得する方法です。 – Randy

答えて

0

ですから、ここで可能なアプローチに、

  1. シンプル(しかし非常に遅刻アプローチを)持っている: は、ユーザーのチェックボックス入力後にフォームを送信views.pyにおけるプロセスの入力をし、それに応じて、フォームの他の部分にサービスを提供別のテンプレートでこれにより、ページをリロードして同じフォームのURLを変更することができます。最初にDjangoを学ぶためにのみ行うのであれば、この方法は問題ありません。
  2. より良いアプローチ。ページJavaScript/JQueryを使用してチェックボックスがチェックされているかどうかを判断し、それに応じてチェックボックスを表示することができます。あなたは後者をやっている場合は、テキストフィールドが表示されないときにエラーを投げることとして、「必須」として入力フィールドを設定しないように覚えていますか

  3. if(document.getElementById('yourCheckBoxID').checked) 
    { 
    $("#FormFieldID").show(); 
    } 
    else 
    { 
    $("#FormFieldID").hide(); 
    } 
    

    よう

何かを行うことができます。あなたがする必要がある場合は、JSフォームの検証のいくつかの並べ替えを使用してください。

希望すると便利です。

+0

感謝の男...このことは私に頭痛を与えています。 – Randy

関連する問題