как установить tabindex для django автозаполнения? - PullRequest
0 голосов
/ 13 июля 2020

в моих формах есть несколько полей (имя, место и работа). Места - это внешний ключ. поэтому я использовал автозаполнение для этого поля.

если я нажимаю вкладку после ввода имени, курсор переходит в автозаполнение. после выбора места, когда я нажимаю клавишу табуляции, оно перемещается в строку поиска в теме. Я предполагаю, что это из-за индекса табуляции автозаполнения - -1.

Тогда для вторых мыслей, если это причина, по которой курсор не переместился в автозаполнение, верно?

в любом случае я дал этот поисковый запрос tabindex = -2. на этот раз курсор переместился на lo go, который является ссылкой на домашнюю страницу, а затем на следующий тег. После еще нескольких вкладок я наконец добрался до начала формы.

как я могу решить эту проблему

1 Ответ

0 голосов
/ 13 июля 2020

У вас есть два варианта

1. Переопределите виджет и предоставьте словарь атрибутов в формах django.

name = forms.TextInput(attrs={'tabindex': 1})

Подробная инструкция по установке настраиваемых атрибутов в django доступна в документе django. http://docs.djangoproject.com/en/dev/ref/forms/widgets/#django .forms.Widget.attrs

2. Определите настраиваемый фильтр шаблона, который добавляет атрибут tabindex

@register.filter
def tabindex(value, index):
    value.field.widget.attrs['tabindex'] = index
    return value

Затем, добавьте tabindex в поля в шаблоне. Например:

{{ form.first_name|tabindex:1 }}
{{ form.email|tabindex:3 }}
...