我有一个表单( A ),其中一个字段取决于第二个表单( B )的选择值。
因此,根据 B 表单的选择字段中选择的内容,我需要该字段是否为必填字段。
当前,我已将 A 表单__init__
方法中的field.required设置为False,并在请求中通过覆盖 B 表单来检查数据清除 A 的方法,并在必要时设置必填字段,但这一切都在单击提交按钮之后发生。显然,如果现在将该字段设置为必填,并且我在 B 中更改了选择字段的值,那么我将不再能够在 A 中将字段设置为不需要。因为它很简单,不允许我单击“提交”。
是否可以使其以某种方式工作?
我的表单:
class PublicationCreateForm(forms.ModelForm):
class Meta:
model = Publication
fields = ('title', 'event')
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
super(PublicationCreateForm, self).__init__(*args, **kwargs)
self.fields['event'].required = False
def clean(self):
type = self.request.POST['type']
if type == 'BOOK':
self.fields['event'].required = False
if type == 'CONF':
self.fields['event'].required = True
答案 0 :(得分:1)
我将在模板中使用jQuery通过以下几行之一来处理此问题。
$('#Your_Input').removeAttr('required');
$('#Your_Button').removeAttr("disabled")
希望有帮助。