Extjs messagebox提示限制用户输入的文本输入

时间:2013-03-25 21:03:36

标签: messagebox extjs3

我正在使用http://dev.sencha.com/playpen/docs/output/Ext.MessageBox.html#prompt显示extjs提示符,用户可以在其中输入一些文本并单击“确定”。现在,如果我想限制用户输入的文字不超过100个字符,我该怎么办?

我知道我需要写一些事件处理程序,但事件是什么?是否可以查看代码示例?

2 个答案:

答案 0 :(得分:4)

当你调用MessageBox.prompt时,它将返回单例的实例,该实例可用于获取textbox元素的dom引用,此元素可用于指定可用于限制长度的属性maxlength可以输入的文本

var dlg = Ext.MessageBox.prompt('Name', 'Please enter your name:', function(btn, text){
    if (btn == 'ok'){
        // process text value and close...
    }
});

var textboxEl = dlg.getDialog().body.child('input[class=ext-mb-input]', true);
textboxEl.setAttribute('maxlength', 1);   // second parameter is character length allowed so change it according to your need

<强>参考:

Character Limit in HTML

答案 1 :(得分:0)

针对Ext 4进行了更新(非常感谢SilentSakky的原始答案):

var dlg = Ext.MessageBox.prompt('Name', 'Please enter your name:', function(btn, text){
    if (btn == 'ok'){
        // process text value and close...
    }
});

var textboxEl = dlg.getEl().query('input')[0];
textboxEl.setAttribute('maxlength', 1);