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

问题描述:

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

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

当你调用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

更新了分机4(有许多由于SilentSakky˚F或原始答案):

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);