Extjs在页面加载后添加侦听器

时间:2014-03-10 12:31:55

标签: extjs widget

我是documentum xcp开发人员,xcp UI是在extjs中开发的,我们有一个工具来创建UI。在UI中,我们只有一个选项可以将小部件的初始值设置为。我可以调用函数来设置初始值

我的要求是限制用户在数字字段和数字值中输入连字符。

在页面上,我们有菜单栏和链接到页面的项目。我想在页面中添加“afterrender”监听器。

var page = Ext.ComponentQuery.query('panel[title=Document Search]')[0];
page.on("afterrender", function(){ alert('after render called ...');

});

提前致谢

1 个答案:

答案 0 :(得分:0)

必须尝试在textField中使用vtype吗?

此处有更多信息: http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.form.field.VTypes

例如:

{
    xtype: 'textfield',
    name: 'email',
    fieldLabel: 'Email Address',
    vtype: 'email'  // requires value to be a valid email address format
}

在此示例中,您将创建一个仅允许电子邮件地址的文本字段。 你有4种类型的“vtype”:

  • 阿尔法
  • alphanum
  • 电子邮件
  • URL

也可以从doc:

创建类似此示例的自定义vtype
    // custom Vtype for vtype:'time'
    var timeTest = /^([1-9]|1[0-9]):([0-5][0-9])(\s[a|p]m)$/i;
    Ext.apply(Ext.form.field.VTypes, {
        //  vtype validation function
        time: function(val, field) {
            return timeTest.test(val);
        },
        // vtype Text property: The error text to display when the validation function returns false
        timeText: 'Not a valid time.  Must be in the format "12:34 PM".',
        // vtype Mask property: The keystroke filter mask
        timeMask: /[\d\s:amp]/i
    });

希望这对您的问题有所帮助!