【问题标题】:Extjs messagebox prompt limit the text input entered by userExtjs 消息框提示限制用户输入的文本输入
【发布时间】:2013-03-25 21:03:36
【问题描述】:

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

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

【问题讨论】:

    标签: messagebox extjs3


    【解决方案1】:

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

    参考:

    Character Limit in HTML

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-08-09
        • 2014-05-25
        • 2019-10-05
        • 2018-07-15
        • 2012-09-06
        • 1970-01-01
        • 2017-12-04
        相关资源
        最近更新 更多