Как установить tabindex на полях форм?

Как я устанавливаю атрибут HTML "tabindex" на полях формы?

Мой шаблон в настоящее время похож..

<div class="field text username">
   <label>Email Address</label>
   {{ form.email }}
</div>
9
задан John Mee 28 January 2010 в 04:11
поделиться

2 ответа

Вы можете переопределить виджет и предоставить словарь attrs с набором индексов вкладок:

http://docs.djangoproject.com/en/dev /ref/forms/widgets/#django.forms.Widget.attrs

5
ответ дан 4 December 2019 в 06:26
поделиться

Вся кредит на ALEX, но просто чтобы заполнить решение:

при использовании генерации Django Auto Formfield (виджеты), забудьте о шаблонах, которые вы должны сделать в определении формы Как это:

class AuthenticationForm(forms.Form):
    email    = forms.CharField(label=_("Email Address"), max_length=75)

становится:

class AuthenticationForm(forms.Form):
    email    = forms.CharField(
                   label=_("Email Address"), max_length=75,
                   widget=forms.TextInput(attrs={'tabindex':'1'})
                )

становится:

class AuthenticationForm(forms.Form):
    email    = forms.CharField(
                   label=_("Email Address"), max_length=75,
                   widget=forms.TextInput(attrs={'tabindex':'1'})
                )

, но если вы готовы отказаться от виджетов и продолжать презентацию в шаблоне, вы также можете сделать это так:

<div class="field text username">
   <label>Email Address</label>
   <input id="id_email" type="text" name="email" 
       tabindex="1" maxlength="75" 
       value="{{form.email.data|default:''}}"/>
</div>

Я склонен к последнему.

12
ответ дан 4 December 2019 в 06:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: