首页 > 解决方案 > 如何允许文本框在 extjs 中只取数字

问题描述

应阻止用户在日期字段中输入文本。他们应该只能在 extjs 中输入数字。

var dateConfig = {
            width: 80,
            enableKeyEvents: true,
            identity: identity,
            format: dateFormat,
            emptyText: visibleDtFormat,
            maskRe: /[0-9.-]/,
            listeners: selectlisteners
        };

标签: extjs

解决方案


您必须使用maskRe: /[0-9.-]/,配置来限制文本。下面是 extJS 6 的工作代码。请看一下。

这是两个的例子datefield。一种是没有reg exp,您可以在其中插入文本,另一种是使用reg exp,您可以在其中输入文本。它仅限于数字。

Ext.create('Ext.form.Panel', {
    renderTo: Ext.getBody(),
    width: 300,
    bodyPadding: 10,
    title: 'Dates',
    items: [{
        xtype: 'datefield',
        anchor: '100%',
        fieldLabel: 'From',
        name: 'from_date',
        maskRe: /[0-9.-]/,
        maxValue: new Date()  // limited to the current date or prior
    }, {
        xtype: 'datefield',
        anchor: '100%',
        fieldLabel: 'To',
        name: 'to_date',
        value: new Date()  // defaults to today
    }]
});

推荐阅读