что такое attr 'gtbfieldid' и как избежать поведения автозаполнения? - PullRequest
9 голосов
/ 15 ноября 2009

У меня есть эта простая форма:

class PagoDesde(forms.Form):
    from django import forms as f
    desde = f.DateField(input_formats=['%d/%m/%Y'])

В моем шаблоне:

    {{ form.desde }}

И связал jqueryui.datepicker в документе. Уже

    $("#id_desde").datepicker();

Результат html:

<input type="text" id="id_desde" name="desde" 
class="hasDatepicker" gtbfieldid="598"/>

И это прекрасно работает, но у меня есть

2 вопроса:

  • что такое gtbfieldid="598"? JQuery добавляет это?
  • как избежать поведения автозаполнения браузеров в этом текстовом поле?

спасибо:)

1 Ответ

11 голосов
/ 16 ноября 2009
  1. Атрибут gtbfieldid динамически добавляется панелью инструментов Google к тегам <input> и <select>, которые, по его мнению, он может заполнить для вас.

  2. Если вы добавите атрибут autocomplete="off" к тегу <form>, который их содержит, то панель инструментов Google не добавит эти атрибуты gtbfielid, и его функция автозаполнения будет недоступна при заполнении этой формы. ,

Оба эти атрибута являются нестандартным XHTML, поэтому ваша форма не пройдет проверку, но если это поведение автозаполнения вызывает проблемы у ваших посетителей, то добавление атрибута autocomplete="off" является единственным обходным решением, которое не позволяет панели инструментов Google манипулировать вашими данными. элементы формы и предложение попробовать заполнить его для пользователя.

Вот как вы можете установить атрибут автозаполнения (в django):

class PagoDesde(forms.Form):
    from django import forms as f
    desde = f.DateField(input_formats=['%d/%m/%Y'],
                        widget=forms.TextInput(attrs={'autocomplete': 'off'}))
...