【发布时间】:2022-01-22 01:24:49
【问题描述】:
我有一个问题,我有一个 formset 和一个 empty_form(在同一个 HTML 中);我让他们做一些计算,对于empty_form,我已经设法提取ID并进行操作,但不是对于formset,这就是我的主要问题是他们有不同的ID,因为表单集的示例如下:
id_form-0-quantity
对于 empty_form 它是:
id__form-1-quantity (one more underscore)
但是使用不同的 ID,我必须在 JS 中进行一些更改,我不想这样做,因为我是 JS 的新手,可能会更多地弄乱代码。 有没有办法将表单集前缀更改为如下所示:id__form-0-quantity?;
我使用了以下行:
formset = ParteFormSet(request.POST, request.FILES, prefix='__form')
但绝对没有发生任何事情
观看次数
def create_Presupuestos(request):
extra_forms = 1
ParteFormSet = formset_factory(PresupuestosParteForm, extra=extra_forms, max_num=20)
presupuestosclientesform=PresupuestosClientesForm(request.POST or None)
presupuestosvehiculosform=PresupuestosVehiculosForm(request.POST or None)
presupuestosparteform=PresupuestosParteForm(request.POST or None)
presupuestosmanoobraform=PresupuestosManoObraForm(request.POST or None)
presupuestospagosform=PresupuestosPagosForm(request.POST or None)
if request.method == 'POST':
formset = ParteFormSet(request.POST, request.FILES, prefix='__form')
if formset.is_valid():
presupuestosclientesform.save()
return redirect('presupuestos:index')
else:
formset = ParteFormSet()
return render(request,'Presupuestos/new-customer.html',{'presupuestosclientesform':presupuestosclientesform,'presupuestosvehiculosform':presupuestosvehiculosform,'presupuestosparteform':presupuestosparteform,'presupuestosmanoobraform':presupuestosmanoobraform,'presupuestospagosform':presupuestospagosform,'formset':formset})
HTML
<table class="table table-bordered table-nowrap align-middle" id="childTable1">
<thead class="table-info">
<tr>
<th scope="col">Quantity</th>
<th scope="col">Unit Price</th>
</thead>
<tbody>
{{ formset.management_form }}
{% for form in formset %}
<div class="part-form">
<tr>
<td>
{{form.quantity}}
<!-- <input type="text" name="parts_quantity" class="form-control input-new-customer-quantity" />-->
</td>
<td>
{{form.unit_price}}
<!-- <input type="text" name="parts_unit_price" class="form-control input-new-customer-unit-price" />-->
</td>
</tr>
</div>
{% endfor %}
</tbody>
</table>
<div class="part-form table-responsive" id="empty-row">
<table class="table table-bordered table-nowrap align-middle">
<tr>
<td>{{formset.empty_form.quantity}}</td>
<td>{{formset.empty_form.unit_price}}</td>
</tr>
</table>
</div>
【问题讨论】: