让messbox 弹出的是密码框

如果你做一个登陆,想每次只输入一个用户名,验证一下,下次数据一个密码,我都用messagebox来做的,但是有个问题,当输入密码的时候,密码是可以见到的,这样太不好了.

如何来改一个输入密码的时候显示密码框呢?

很简单的,到source\widgets下找到messagebox.js的文件,复制一个副本,起名MessageBoxPassword.js,里面的主函数也改成MessageBoxPassword,然后在

bodyEl = dlg.body.createChild({
                    html:'<div class="ext-mb-icon"></div>
                    <div class="ext-mb-content"><span class="ext-mb-text"></span>
                    <br /><input type="password" class="ext-mb-input" />
                    <textarea class="ext-mb-textarea"></textarea></div>'
                }); 

注意,我把input type="password"是我写的,以前是input type="text".

好了,去掉文件最后的一个定意,就是把messageBox=msg,这个在另一个mesagebox里定义过了,这里就不要重复了.

然后在页面里引用mesageboxPassword.js记得放在ext-all.js后面.

然后普通的框就用Ext.MessageBox 如果用密码框就Ext.MessageBoxPassword就可以了,这样即简单又方便的添加了一个功能扩展,也没有损坏原来的文件.