【问题标题】:ExtJS 4 - MessageBox Prompt change input field type to passwordExtJS 4 - MessageBox 提示将输入字段类型更改为密码
【发布时间】:2014-11-15 12:23:40
【问题描述】:

美好的一天。我正在创建一个不时显示消息框的 Web 应用程序。我有一个消息框,要求用户输入密码,我希望该字段类型为密码。到目前为止,我已经尝试了几件事,但它们似乎都不起作用,它们仍然将文本显示为纯文本,而不是点或星号。

这是我的代码:

var mb = Ext.MessageBox.prompt({
    title: 'Enter Override Password.',
    msg: 'Please Enter the Override Password to Reprint:',
    password: true, //this does not work
    width: 300,
    height: 125,
    multiline: 1,
    inputType: 'password', //this does not work
    value: '',
    buttons: Ext.MessageBox.YESNO,
    fn: myCallback,
    cls: 'msgbox',
    baseCls: 'msgbox',
    icon: Ext.MessageBox.WARNING
});
mb.textField.inputType = 'password'; //this does not work

有谁知道如何将输入字段指定为密码类型? ExtJS 4.2 似乎不支持它。提前致谢。

【问题讨论】:

    标签: extjs extjs4 extjs4.2


    【解决方案1】:

    这是我尝试过的方法,到目前为止效果很好。我现在唯一的问题是样式,这是另一个问题。

    var myMsgBox = new Ext.window.MessageBox({
        cls: 'msgbox',
        bodyCls: 'popWindow'
    });
    myMsgBox.textField.inputType = 'password';
    myMsgBox.textField.width = 240;
    myMsgBox.textField.center();
    myMsgBox.prompt(title, msg, myCallback);
    

    【讨论】:

      【解决方案2】:

      我认为这超出了Ext.MessageBox 的设计范围。在查看源代码时,传入输入的唯一内容是值,如果设置了多行,则为高度。

      您可以做的是创建您自己的组件,扩展Ext.Window 并将modal 设置为true。这使您可以根据需要自定义窗口。

      【讨论】:

        【解决方案3】:

        尝试创建一个扩展 Ext.Window 的自定义窗口,而不是 Ext.MessageBox.prompt,在单击按钮时弹出并将模式设置为 true 并对齐到中心。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-02-24
          • 2017-03-09
          • 1970-01-01
          • 2014-02-13
          • 1970-01-01
          • 2012-01-22
          • 2020-07-14
          • 1970-01-01
          相关资源
          最近更新 更多