В Django, как изменить имена полей в динамических формах с помощью Java-скрипта

#javascript #jquery #django-forms #dynamicform

Вопрос:

Я создал форму. С помощью jQuery получил первый параграф формы. Используя функцию добавления, я добавляю ее снова. С помощью этого я получаю одинаковые имена для всех новых полей. Я не могу восстановить его значения в views.py.

Есть ли способ изменить имена полей формы в js? или какое-либо другое решение этой проблемы?

Функция JS:

 $(".add").click(function() {  $("form gt; p:first-of-type").clone(true).insertBefore("form gt; p:last-child");  return false; });  $(".remove").click(function() {  $(this).parent().remove(); });  

С помощью этого JS я клонирую эти строки,

 lt;input type="text" name="med" maxlength="100" required id="id_medicine"gt;  

При отправке его обратно мне нужно изменить имя поля ввода(med на med1). Таким образом, я могу получить все значения в views.py

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

1. Добро пожаловать в Stack Overflow, пожалуйста, приложите часть своего кода, чтобы мы могли лучше понять, что вы делаете.

2. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.

Ответ №1:

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

 lt;div class="row"gt;  lt;input type="text" name="arr1[]" gt;  lt;input type="text" name="arr2[]" gt;  lt;/divgt; lt;button id="add"gt; Addlt;/buttongt;    $('#add').click(function(){    $('.row').append('lt;input type="text" name="arr1[]" gt;lt;input type="text" name="arr2[]"gt;');  })  

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

1. Спасибо за ответ. Но кнопка «Добавить» не добавляет новые поля.

2. @VenugopalReddy У вас есть какие-либо ошибки?

3. @VenugopalReddy Я обновил код. это меня вполне устраивает.