Добрый день!
Подскажите, как сделать Form скрытыми и дальнейшее отображение скрытых Form при выборе RadioSelect.
Нужно, чтобы появлялись (без перезагрузки) или отдельные формы (которые можно создать) или отдельные поля одной формы.
Решение найти не смог, хоть и вопрос вроде простой. Пробовал через if, но не понимаю как получить значение id или value от RadioSelect.
#forms
VIBOR_EM_CHOICES = [
('po_V', 'по объему'),
('po_G', 'по габаритам'),
]
class ViborForm(forms.Form):
EM_Select = forms.ChoiceField(label='Произвести расчет', widget=forms.RadioSelect(), choices=VIBOR_EM_CHOICES, initial='po_V')
if values == "po_V":
V_em = forms.CharField(label='Объем емкости, м3', widget=forms.TextInput(attrs={'class': 'form-input'}))
else:
Hp_em = forms.CharField(label='Глубина подводящего, м', widget=forms.TextInput(attrs={'class': 'form-input'}))
#views
class ShowEquipment(DataMixin, DetailView, FormView):
model = Equipment
template_name = 'sale/equipment.html'
slug_url_kwarg = 'equipment_slug'
context_object_name = 'equipment'
form_class = ViborForm
def get_context_data(self, *, object_list=None, **kwargs):
context = super().get_context_data(**kwargs)
c_def = self.get_user_context(title=context['equipment'])
return dict(list(context.items()) + list(c_def.items()))
# html
<div class="form-error">{{ form.non_field_errors }}</div>
{% for f in form %}
<p><label class="form-label" for="{{ f.id_for_label }}">{{f.label}}: </label>{{ f }}</p>
<div class="form-error">{{ f.errors }}</div>
{% endfor %}