什么是attr'gtbfieldid'以及如何避免自动完成行为?

pan*_*ore 9 django jquery jquery-ui django-forms

我有这个简单的形式:

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

在我的模板中:

    {{ form.desde }}
Run Code Online (Sandbox Code Playgroud)

并且在document.ready中关联了一个jqueryui.datepicker

    $("#id_desde").datepicker();
Run Code Online (Sandbox Code Playgroud)

html结果是:

<input type="text" id="id_desde" name="desde" 
class="hasDatepicker" gtbfieldid="598"/>
Run Code Online (Sandbox Code Playgroud)

而且效果很好,但我有

2个问题:

  • 是什么gtbfieldid="598"?jquery添加了吗?
  • 如何避免此文本字段中浏览器的自动完成行为?

谢谢 :)

Smi*_*ris 11

  1. gtbfieldid属性是由谷歌工具栏动态添加到<input><select>它认为它可以填写你的标签.

  2. 如果您将该autocomplete="off"属性添加到<form>包含它们的标记中,那么Google工具栏将不会添加这些gtbfielid属性,并且在填写该表单时其自动填充功能将不可用.

这两个属性都是非标准的XHTML,因此您的表单将无法通过验证,但如果此自动填充行为导致访问者出现问题,则添加该autocomplete="off"属性是阻止Google工具栏操纵您的表单元素并提供尝试的唯一解决方法为用户填写.

以下是您设置autocomplete属性的方法(在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'}))
Run Code Online (Sandbox Code Playgroud)