Копирование значения html-элемента в шаблон django (forms)

#javascript #html #django #django-templates

#javascript #HTML #django #django-шаблоны

Вопрос:

форма django с полем выбора (1,2,3) -> {{Choices.sollicitanten}} форма django с полем выбора (1,2,3) -> {{ form.vacature_contract }} параметры выбора обоих полей одинаковы 1,2,3. Я хочу, чтобы при выборе, например, выбора 1 в choices.sollicitanten это будетскопируйте этот выбор в поле {{form.vacature_contract}} так, чтобы выбор этого поля также равнялся 1.

     <td class="tg-0lax">{{ Choices.sollicitanten}}</td>. 
 

// и у меня есть

   <td name="vacature_doel" class="tg-0lax">{{ form.vacature_contract }}</td>
 

// и в html

   function FillForm(f) {
  {
   f.vacature_doel.value = f.vacature_bron.value;
   f.sollicitanten_doel.value = f.sollicitanten_bron.value;


  }
}
 </script>
 

// когда я нажимаю кнопку отправки, запускается функция (onclick= FillForm).

// приведенный выше код, похоже, мало что делает..что происходит не так.

Ответ №1:

Вы можете выбрать оба выпадающих списка по их идентификаторам, а затем добавить eventlistener в sollicitanten выпадающий список, который установит значение vacature_contract выпадающего списка при изменении или наоборот.

чтобы получить идентификатор вашего выпадающего списка, вы можете либо проверить элемент, либо django может догадаться, поскольку django просто присваивает id as id_<your_field_name> .

Вот js, который должен хорошо работать для вашего кода

 <script>
        let myDropdown = document.getElementById('id_sollicitanten');
        myDropdown.onchange = () => document.getElementById('id_vacature_contract').value = myDropdown.value;
</script>
 

Здесь я добавил прослушиватель событий, который обновит раскрывающееся значение vacature_contract при изменении значения sollicitanten .

Комментарии:

1. @Sander не забудьте проголосовать и принять ответ, если он решил вашу проблему.