使浏览器通过ExtJS 3记住表单中的名称/密码

时间:2013-02-19 12:41:34

标签: internet-explorer google-chrome extjs extjs3

我必须制作一个表单,浏览器可以看到并保存密码。我找到了很多解决方案,在Firefox中 - 例如 - 用户 owlness 的解决方案非常好用。但Chrome没有显示任何内容,控制台说:未捕获TypeError:无法调用方法'addUnits'为null

<form id="auth-form" action="" method="POST">
  <input id="auth-username" type="text" name="username" class="x-hidden">
  <input id="auth-password" type="password" name="password" class="x-hidden">
  <input id="auth-submit" type="submit" class="x-hidden">
</form>

...

       new Ext.FormPanel({
            region: 'south',
            //id: 'login',
            el: 'auth-form',
            autoShow: true,
            height: 125,
            title: 'Login',
            padding: 5,
            frame: true,
            labelWidth: 80,
            defaultType: 'textfield',
            defaults: {
                allowBlank: false,
                width: 250
            },

            items: [{
                fieldLabel: 'Username',
                el: 'auth-username',
                autoShow: true,
                inputType: 'text',
                //id: 'username',
                name: 'username'
            }, {
                fieldLabel: 'Password',
                el: 'auth-password',
                autoShow: true,
                inputType: 'password',
                //id: 'password',
                name: 'password'
            }],

            // auto focus ...

            // submit on enter ...

            buttons: [{
                text: 'Login',
                type: 'submit',
                //el: 'auth-submit',
                //autoShow: true,
                handler: function (button) {
                    var b = button; // scope
                    var f = b.ownerCt.ownerCt.getForm();
                    if (!f.isValid()) {
                        return;
                    }
                    f.standardSubmit = true;
                    b.ownerCt.disable();

                    MY.ajax.login({
                        scope: this,
                        success: function (res) {
                            f.submit();
                            win.close();
                        },
                        failure: function () {
                            b.ownerCt.enable();
                        },
                        params: f.getFieldValues()
                    });
                }
            }]
        })

你能帮助我吗,我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以将它们保存为Cookie:

Ext.util.Cookies.set('username', usernameValue, new Date().add(Date.DAY, 90));

// ...

items: [{
            fieldLabel: 'Username',
            el: 'auth-username',
            autoShow: true,
            inputType: 'text',
            //id: 'username',
            name: 'username',
            value: Ext.util.Cookies.get('username')
        }, {
            fieldLabel: 'Password',
            el: 'auth-password',
            autoShow: true,
            inputType: 'password',
            //id: 'password',
            name: 'password',
            value: Ext.util.Cookies.get('password')
        }]
相关问题