#javascript #python #html #django
Вопрос:
что происходит, так это то, что у меня уже есть поведение для добавления строк (JS и HTML) со знаком плюс, однако у меня проблема в том, что дублируемая форма (с набором форм) не содержит кода в django, и, очевидно, я хочу, чтобы я добавлял строки с помощью HTML, JS и Django.
Я хотел бы переработать свой код, чтобы cell1.outerHTML (и другие) могли содержать что-то вроде этого: {% render_field класс form.code = «управление формой»%}
Я просто не знаю, можно ли это сделать, надеюсь, потому что мои знания JS минимальны 🙁
presupuestos-forms.html
lt;table class="table table-bordered table-nowrap align-middle" id="childTable1"gt; lt;thead class="table-info"gt; lt;trgt; lt;th scope="col"gt;Códigolt;/thgt; lt;th scope="col"gt;Descripciónlt;/thgt; lt;th scope="col"gt;Cantidadlt;/thgt; lt;th scope="col"gt;Precio Unitariolt;/thgt; lt;th scope="col"gt;Precio Totallt;/thgt; lt;th scope="col"gt;Libre de Impuestoslt;/thgt; lt;th scope="col"gt;Agrega Filalt;/thgt; lt;/trgt; lt;/theadgt; lt;tbodygt; lt;trgt; lt;tdgt; {{presupuestosparteform.codigo}} lt;/tdgt; lt;tdgt; {{presupuestosparteform.descripcion}} lt;/tdgt; lt;tdgt; {{presupuestosparteform.quantity}} lt;/tdgt; lt;tdgt; {{presupuestosparteform.unit_price}} lt;/tdgt; lt;tdgt; {{presupuestosparteform.total_price}} lt;/tdgt; lt;tdgt; lt;divgt; {{presupuestosparteform.tax_free}} lt;/divgt; lt;/tdgt; lt;tdgt; lt;input type="button" class="btn btn-block btn-default" id="addrow" onclick="childrenRow()" value=" " /gt; lt;/tdgt; lt;/trgt; lt;trgt; {{ formset.management_form }} {% for form in formset %} lt;tdgt; {% render_field form.codigo class="form-control" %} lt;/tdgt; lt;tdgt; {% render_field form.descripcion class="form-control" %} lt;/tdgt; lt;tdgt; {% render_field form.quantity class="form-control" %} lt;/tdgt; lt;tdgt; {% render_field form.unit_price class="form-control" %} lt;/tdgt; lt;tdgt; {% render_field form.total_price class="form-control" %} lt;/tdgt; lt;tdgt; {% render_field form.tax_free class="form-check-input" %} lt;/tdgt; {% endfor %} lt;/trgt; lt;/tbodygt; lt;/tablegt;
add-parts-rows.js
function deleteRow(id) { document.getElementById(id).remove() } function childrenRow() { var table = document.getElementById("childTable1"); // GET TOTAL NUMBER OF ROWS var x =table.rows.length; var id = "tbl" x; var row = table.insertRow(x); row.id=id; var cell1 = row.insertCell(0); var cell2 = row.insertCell(1); var cell3 = row.insertCell(2); var cell4 = row.insertCell(3); var cell5 = row.insertCell(4); var cell6 = row.insertCell(5); cell1.outerHTML = ' lt;tdgt;lt;input type="text" name="parts_code" class="form-control input-new-customer-code newcode" autofocus/gt;lt;/tdgt;'; cell2.innerHTML = ' lt;input type="text" name="parts_description" class="form-control input-new-customer-description" /gt;'; cell3.innerHTML = ' lt;input type="text" name="parts_quantity" class="form-control input-new-customer-quantity" /gt;'; cell4.innerHTML = ' lt;input type="text" name="parts_unit_price" class="form-control input-new-customer-unit-price" /gt;'; cell5.innerHTML = ' lt;input type="text" name="parts_total_price" class="form-control input-new-customer-total" /gt;'; cell6.innerHTML = ' lt;input type="button" class="btn btn-block btn-default" id="addrow" onclick="deleteRow('' id '')" value="Delete" /gt; '; } document.getElementsByClassName("newcode").onfocus = function() {setFocusInput()}; function setFocusInput(){ document.getElementsByClassName("newcode").focus(); }