“Django”;“自动对焦”;关于表单验证错误

“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__(*

使用Django 1.9和Python3.5,我想“设置焦点”在我的模型表单中验证失败的第一个字段上

这是如何实现的


谢谢。

我相信以下内容对您应该有用。(未经测试)

在表单的
\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