3

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

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

4

2 回答 2

4

当您调用MessageBox.prompt它时,它将返回单例实例,该实例可用于获取文本框元素的 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

参考:

HTML中的字符限制

于 2013-04-06T21:01:40.143 回答
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);
于 2014-02-25T15:56:48.043 回答