#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 Я обновил код. это меня вполне устраивает.