使用 Extjs 的 IP 地址 v4 的表单字段

发布于 2024-12-15 07:30:47 字数 78 浏览 2 评论 0原文

我使用 Extjs 3 创建一个表单面板,我想创建一个字段来放置 IP 地址 v4,就像我有 4 个方块来放置 4 个数字一样。 感谢您的帮助

I create a form panel with Extjs 3 and i wanna create a field to put an IP address v4 like I have 4 squares to put 4 numbers.
Thanks for your help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

染年凉城似染瑾 2024-12-22 07:30:47

我在 IP 领域使用了 Robert B. Williams 版本。
只需几个twinks,您就可以将其更改为适合V4 IP。

这是代码:

/**
* @class Ext.ux.form.TimeField
* @extends Ext.ux.form.FieldPanel
* This class creates a time field using spinners.
* @license: BSD
* @author: Robert B. Williams (extjs id: vtswingkid)
* @constructor
* Creates a new FieldPanel
* @param {Object} config Configuration options
*/
Ext.namespace("Ext.ux.form");
Ext.ux.form.IpField = Ext.extend(Ext.ux.form.FieldPanel, {
border: false,
baseCls: null,
layout: 'table',
token: '.',
value: '192.168.0.1',
layoutConfig: {
    columns: 7
},
width: 180,
// private
defaults:{
    maskRe: /[0-9]/,
    maxLength: 3,
    listeners: {
        'focus': function(f){
            f.selectText();
        }
    }
},
initComponent: function()
{
    this.items = [{
        xtype:'numberfield',
        width:40,
        name: this.name + '0'
    }, {
        html: '.',
        baseCls: null,
        bodyStyle: 'font-weight: bold; font-size-adjust: .9',
        border: false
    }, {
        xtype:'numberfield',
        width:40,
        name: this.name + '1'
    }, {
        html: '.',
        baseCls: null,
        bodyStyle: 'font-weight: bold; font-size-adjust: .9',
        border: false
    }, {
        xtype:'numberfield',
        width:40,
        name: this.name + '2'
    }, {
        html: '.',
        baseCls: null,
        bodyStyle: 'font-weight: bold; font-size-adjust: .9',
        border: false
    }, {
        xtype:'numberfield',
        width:40,
        name: this.name + '3'
    }]
    Ext.ux.form.IpField.superclass.initComponent.call(this);
}
});
Ext.reg('uxipfield', Ext.ux.form.IpField);

I have used Robert B. Williams version for IP field.
You can change it to fit V4 IPs with just a few twinks.

here is the code:

/**
* @class Ext.ux.form.TimeField
* @extends Ext.ux.form.FieldPanel
* This class creates a time field using spinners.
* @license: BSD
* @author: Robert B. Williams (extjs id: vtswingkid)
* @constructor
* Creates a new FieldPanel
* @param {Object} config Configuration options
*/
Ext.namespace("Ext.ux.form");
Ext.ux.form.IpField = Ext.extend(Ext.ux.form.FieldPanel, {
border: false,
baseCls: null,
layout: 'table',
token: '.',
value: '192.168.0.1',
layoutConfig: {
    columns: 7
},
width: 180,
// private
defaults:{
    maskRe: /[0-9]/,
    maxLength: 3,
    listeners: {
        'focus': function(f){
            f.selectText();
        }
    }
},
initComponent: function()
{
    this.items = [{
        xtype:'numberfield',
        width:40,
        name: this.name + '0'
    }, {
        html: '.',
        baseCls: null,
        bodyStyle: 'font-weight: bold; font-size-adjust: .9',
        border: false
    }, {
        xtype:'numberfield',
        width:40,
        name: this.name + '1'
    }, {
        html: '.',
        baseCls: null,
        bodyStyle: 'font-weight: bold; font-size-adjust: .9',
        border: false
    }, {
        xtype:'numberfield',
        width:40,
        name: this.name + '2'
    }, {
        html: '.',
        baseCls: null,
        bodyStyle: 'font-weight: bold; font-size-adjust: .9',
        border: false
    }, {
        xtype:'numberfield',
        width:40,
        name: this.name + '3'
    }]
    Ext.ux.form.IpField.superclass.initComponent.call(this);
}
});
Ext.reg('uxipfield', Ext.ux.form.IpField);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文