Wie setze ich Tabindex in Formularfeldern?

8

Wie setze ich das HTML-Attribut "tabindex" in Formularfeldern?

Meine Vorlage sieht derzeit so aus ..

%Vor%     
John Mee 28.01.2010, 04:11
quelle

5 Antworten

4

Sie können das Widget überschreiben und ein attrs-Wörterbuch mit dem Tab-Index-Set bereitstellen:

Ссылка

    
Alex Gaynor 28.01.2010, 04:20
quelle
18

Der Tab-Index ist ein Feature des Layouts und es fühlt sich so an, als ob es wirklich in die Vorlage gehört, nicht in die Ansicht . Hier ist ein direkter Ansatz, der dies erreicht:

Definieren Sie zuerst einen benutzerdefinierten Vorlagenfilter fügt dem Widget eines gebundenen Feldes ein tabindex -Attribut hinzu:

%Vor%

Fügen Sie dann |tabindex:n zu den Feldern in der Vorlage hinzu. Zum Beispiel:

%Vor%     
Gareth Rees 12.02.2012 16:11
quelle
11

Alles an Alex, aber nur um die Lösung auszufüllen:

Wenn Sie die automatische Formfeldgenerierung von django (Widgets) verwenden, vergessen Sie die Vorlagen, die Sie in der folgenden Formulardefinition verwenden müssen:

%Vor%

wird zu:

%Vor%

Wenn Sie jedoch bereit sind, die Widgets aufzugeben und die Präsentation in der Vorlage beizubehalten, können Sie dies auch folgendermaßen tun:

%Vor%

Ich bin zu letzterem geneigt.

    
John Mee 28.01.2010 05:02
quelle
2

Sie können dafür auch django-widget-tweaks verwenden.

Verwendung von render_field (ich bevorzuge diese Methode):

%Vor%

Alternativ dazu verwenden Sie den attr-Filter:

%Vor%     
Trey Hunner 12.09.2013 19:43
quelle
1

Alles an John, aber {{form.email.data|default:''}} scheint alle im Formular angegebenen Anfangsdaten zu ignorieren. Am Ende habe ich etwas jQuery benutzt, um diesen schmerzhaften Django-Mangel zu umgehen:

%Vor%

kombiniert mit {{ form.email }} gibt das Eingabefeld aus und fügt einen Tabindex ohne all das Widget / attr Mumbo-Jumbo hinzu, was besonders unangenehm ist, wenn man ein ModelForm verwendet.

    
Dave 18.05.2011 23:11
quelle

Tags und Links