一些现代(Safari、chrom、firefox)浏览器记录信息并允许您在返回时自动完成一些文本字段。
我想用 ExtJS 来做。我在这里有一个答案:
但是在 ExtJS 中,我无法访问参数autocomplete
。它总是硬编码autocomplete="off"
的。在文档中,我没有找到如何修改它:http ://docs.sencha.com/ext-js/4-1/#!/api/Ext.form.field.Text
有人有一个简单的答案来修改这个参数吗?
一些现代(Safari、chrom、firefox)浏览器记录信息并允许您在返回时自动完成一些文本字段。
我想用 ExtJS 来做。我在这里有一个答案:
但是在 ExtJS 中,我无法访问参数autocomplete
。它总是硬编码autocomplete="off"
的。在文档中,我没有找到如何修改它:http ://docs.sencha.com/ext-js/4-1/#!/api/Ext.form.field.Text
有人有一个简单的答案来修改这个参数吗?
您想向 中添加一个afterrender
侦听器textfield
,获取对该input
元素的引用,并将其autocomplete
属性设置为“on”。您可能还想设置它name
(因为这是浏览器记住值的方式)。
例子:
{
xtype:'textfield',
fieldLabel:'some field',
name:'somefield',
listeners:{
afterrender:function(cmp){
cmp.inputEl.set({
autocomplete:'on'
});
}
}
}
请注意,要使 LastPass 工作,您可能需要size
从文本字段中删除属性。由于一些奇怪的原因,Sencha 设置 size=1 这很奇怪(是因为 IE6?甚至可能是 IE5.5?)。
无论如何,这使得 LastPass 工作。我猜您可能还想删除autocomplete
其他密码管理器的属性。用 ExtJS 6.5 测试。
{
xtype: 'textfield',
name: 'username',
fieldLabel: 'Username',
listeners:{
afterrender:function(cmp){
cmp.inputEl.dom.removeAttribute('size')
}
},
},