0

I try to use Jstree checkbox in a Django form, but Jquery array is stopped by form is_valid() method : La valeur « 584a6392-8958-40c8-b318-77c1d2df623d,a9f2deec-eda2-4c43-a080-cd070e9ff25f » n’est pas un UUID valide. This code run if i choose only a checkbox

HTML

 <input type="hidden" name="regroupements" id="regroupements" value="">


 <div id="kt_docs_jstree_basic">
    <ul>
             <li value="584a6392-8958-40c8-b318-77c1d2df623d"> Groupe 1 </li>
             <li value="a9f2deec-eda2-4c43-a080-cd070e9ff25f"> Groupe 2 </li>
    </ul>
 </div>

JS

$(function () { 
    $('#kt_docs_jstree_basic').jstree(); 
    $("#kt_docs_jstree_basic").on("select_node.jstree", function(e){
              var selected_regroupements = [];
              var selectedIndexes = $("#kt_docs_jstree_basic").jstree("get_selected", true);
              $.each(selectedIndexes,function () {
                  selected_regroupements.push(this['li_attr'].value);
              });
              $("#regroupements").val(selected_regroupements)
          }
      );
    });

ViEWS.PY

 def post(self, request,  **kwargs):
        context = super().get_context_data(**kwargs)
        context = KTLayout.init(context)
        form = forms.UtilisateursAddUpdate(request.POST, request.FILES)

        choices = request.POST.getlist("regroupements")


        if form.is_valid():

            instance = form.save(commit=False)

            ...

            instance.save()

            for item in choices:
                instance.regroupements.add(item)

I don't understand why this code run with one checkbox "checked" but not with more. How should i change my code ?

Romain
  • 3
  • 2

0 Answers0