繁体   English   中英

如何增加和减少textfield maxLength

[英]How to increase and decrease textfield maxLength

我有一个textfield ,在其中声明maxLength: 15 focusleave事件上,我要添加一些其他字符,所以在这里我想增加textfield长度。

我的代码是:

{
    xtype: 'textfield',
    name: 'email',
    fieldLabel: 'Email Address',
    maxLength: 15
    vtype: 'email' // requires value to be a valid email address format,
    listeners: {
        focusleave: function( this, event, eOpts)  {
            var myVAl = this.Value();
            myVAl.toLocaleString({
                minimumFractionDigits: 3
            });
        }
    }
}

在这里,如果我输入15个字符,然后我希望在每三个字符后加十进制,那么我只能得到13个用完字符。

那么在这种情况下如何增加和减少maxLength

那么如何增加和减少maxLength

是的,您可以使用textfield.inputEl更改focusenterfoucuseleave事件。

textfield.inputEl.dom.maxLength=15//Your dynamic value here

在此FIDDLE中 ,我使用相同的textfield.inputEl创建了一个演示。 希望这会帮助/指导您达到要求。

代码片段

Ext.application({
    name: 'Fiddle',

    launch: function () {

        function stringInsert(str, n, joinwith) {
            var ret = [],
                i = 0,
                len = str.length;;

            for (; i < len; i += n) {
                ret.push(str.substr(i, n))
            }

            return ret.join(joinwith)
        };

        Ext.create({
            xtype: 'form',
            title: 'Demo Form',
            bodyPadding: 15,
            renderTo: Ext.getBody(),
            items: [{
                xtype: 'textfield',
                name: 'email',
                fieldLabel: 'Email Address',
                vtype: 'email', // requires value to be a valid email address format,
                listeners: {
                    focusenter: function (field) {
                        var value = field.getValue().replace(/\./g, '');
                        field.setValue(value);
                        field.inputEl.dom.maxLength=15;
                    },
                    focusleave: function (field, event, eOpts) {
                        var value = this.getValue(),
                            newValue = stringInsert(value, 3, '.');

                        field.inputEl.dom.maxLength=newValue.length;
                        field.setValue(newValue);
                    }
                }
            }]
        })
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM