美好的一天。我正在创建一个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不支持它。提前致谢。
答案 0 :(得分: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);
答案 1 :(得分:0)
我认为这有点超出了Ext.MessageBox
的设计范围。在查看源代码时,传入输入的唯一内容是值,如果设置了多行,则为高度。
您可以做的是创建自己的组件,扩展Ext.Window
并将模态设置为true。这允许您根据需要自定义窗口。
答案 2 :(得分:0)
而不是Ext.MessageBox.prompt尝试创建一个扩展Ext.Window的自定义窗口,单击按钮时弹出,并将模态设置为true并对齐到中心。