一些现代(Safari,chrom,firefox)浏览器记录信息,并允许您在回来时自动填写一些文本字段。
我想在ExtJS中做到这一点。我在这里有一个答案:
How to get Chrome to remember login on forms?
但是在ExtJS中,我无法访问参数autocomplete
。它总是硬编码autocomplete="off"
。在文档中,我没有找到如何修改它:http://docs.sencha.com/ext-js/4-1/#!/api/Ext.form.field.Text
有人有一个简单的答案来修改这个参数吗?
答案 0 :(得分:12)
您希望向afterrender
添加textfield
侦听器,获取对input
元素的引用,并将其autocomplete
属性设置为“on”。您可能还想设置其name
(因为这是浏览器记住该值的方式)。
示例:
{
xtype:'textfield',
fieldLabel:'some field',
name:'somefield',
listeners:{
afterrender:function(cmp){
cmp.inputEl.set({
autocomplete:'on'
});
}
}
}
答案 1 :(得分:0)
请注意,要使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')
}
},
},