“Django”;“自动对焦”;关于表单验证错误
使用Django 1.9和Python3.5,我想“设置焦点”在我的模型表单中验证失败的第一个字段上 这是如何实现的“Django”;“自动对焦”;关于表单验证错误,django,django-models,django-forms,django-templates,Django,Django Models,Django Forms,Django Templates,使用Django 1.9和Python3.5,我想“设置焦点”在我的模型表单中验证失败的第一个字段上 这是如何实现的 谢谢。我相信以下内容对您应该有用。(未经测试) 在表单的\uuuuu init\uuuuuu过程中,遍历字段。对遇到错误的第一个字段应用autofocus属性 class MyForm(models.ModelForm): def __init__(self, *args, **kwargs): super(MyForm, self).__init__(*
谢谢。我相信以下内容对您应该有用。(未经测试) 在表单的
\uuuuu init\uuuuuu
过程中,遍历字段。对遇到错误的第一个字段应用autofocus
属性
class MyForm(models.ModelForm):
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
for _, field in self.fields.iteritems():
if field in self.errors:
field.widget.attrs.update({
'autofocus': ''
})
break
这个解决方案对我有效:
class YourForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(YourForm, self).__init__(*args, **kwargs)
#Focus on form field whenever error occurred
errorList=list(self.errors)
for item in errorList:
self.fields[item].widget.attrs.update({'autofocus': ''})
break