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

Posted

技术标签:

【中文标题】什么是 attr \'gtbfieldid\' 以及如何避免自动完成行为?【英文标题】:what is attr 'gtbfieldid' and how to avoid autocomplete behavior?什么是 attr 'gtbfieldid' 以及如何避免自动完成行为? 【发布时间】:2010-12-16 20:43:26 【问题描述】:

我有这个简单的表格:

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

在我的模板中:

     form.desde 

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

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

html结果是:

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

效果很好,但我有

2 个问题:

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

谢谢:)

【问题讨论】:

【参考方案1】:

    gtbfieldid 属性由 Google 工具栏动态添加到它认为可以为您填写的 &lt;input&gt;&lt;select&gt; 标签中。

    如果您将autocomplete="off" 属性添加到包含它们的&lt;form&gt; 标记,那么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'))

【讨论】:

我只是想添加我的编辑评论,google 应该因为没有将 g 扩展到“google”而被打脸。多么浪费时间。另一方面,FF 应该被打脸,因为它没有为属性着色不同或表明它是通过脚本添加的。

以上是关于什么是 attr 'gtbfieldid' 以及如何避免自动完成行为?的主要内容,如果未能解决你的问题,请参考以下文章

从jquery源码深入剖析 attr 和 prop

如何为 style-src-attr 或 script-src-attr 定义 nonce?

在 Vue 中,使用 $attrs 构建高级组件

Rails 批量赋值定义和 attr_accessible 使用

如何为动态实例变量设置 attr_accessor?

android 自己定义控件属性(TypedArray以及attrs解释)