Как создать динамический набор форм удаления?
У меня есть набор форм в html. Я добавил кнопку AddMore для добавления формы. Теперь я хочу создать динамическую кнопку удаления в html, но мне не хватает опыта работы с js и DOM.
Как сделать кнопку удаления динамической с помощью js?
html
{% block isi %}
<!-- INFORMASI ACARA -->
<div class="notification is-light p-1 has-text-centered mt-4">
INFORMASI ACARA
</div>
<div class="columns is-multiline">
{% if formset6 %}
{{ formset6.management_form }}
<div class="column is-12">
<div id="ingredient-form-list6">
{% for form in formset6 %}
<div class="ingredient-form6 mb-3">
{% for field in form.visible_fields %}
{{ field.label_tag }} {{ field }}
{% for error in field.errors %}
<p class="help is-danger">{{ error }}</p>
{% endfor %}
{% endfor %}
<div class="is-hidden">
{% for field in form.hidden_fields %}
{{ field.label_tag }} {{ field }}
{% for error in field.errors %}
<p class="help is-danger">{{ error }}</p>
{% endfor %}
{% endfor %}
</div>
</div>
{% endfor %}
</div>
</div>
<div id="empty-form6" class="is-hidden">{{ formset6.empty_form }}</div>
{% endif %}
</div>
<button id="add-more6" type="button" class="button is-small is-outlined pd-1 mb-4">Tambah</button>
{% endblock %}
js
const addMoreBtn6 = document.getElementById('add-more6')
const totalNewForms6 = document.getElementById('id_acara-TOTAL_FORMS')
if (addMoreBtn6) {
addMoreBtn6.addEventListener('click', add_new_form6)
}
function add_new_form6(event) {
if (event) {
event.preventDefault()
}
const currentIngredientForms6 = document.getElementsByClassName('ingredient-form6')
const currentFormCount6 = currentIngredientForms6.length // + 1
console.log(currentIngredientForms6.length)
if (currentFormCount6 <= 2) {
const formCopyTarget6 = document.getElementById('ingredient-form-list6')
const copyEmptyFormEl6 = document.getElementById('empty-form6').cloneNode(true)
copyEmptyFormEl6.setAttribute('class', 'ingredient-form6')
copyEmptyFormEl6.setAttribute('id', `acara-${currentFormCount6}`)
const regex = new RegExp('__prefix__', 'g')
copyEmptyFormEl6.innerHTML = copyEmptyFormEl6.innerHTML.replace(regex, currentFormCount6)
totalNewForms6.setAttribute('value', currentFormCount6 + 1)
// now add new form element to our html form
formCopyTarget6.append(copyEmptyFormEl6)
}
}