Ext.MessageBox 提示的正则表达式
Posted
技术标签:
【中文标题】Ext.MessageBox 提示的正则表达式【英文标题】:Regular Expression for prompt of Ext.MessageBox 【发布时间】:2015-02-23 08:00:41 【问题描述】:我提示用户填写字母和数字的组合。
代码如下:
Ext.Msg.show(
title : 'you can enter alphabets and number',
msg : 'Your value',
buttons: Ext.Msg.OKCANCEL,
scope : this,
prompt:true
);
虽然它提示填写值,但在该字段中我想添加正则表达式。
我不想添加文本字段或使用窗口。 请帮忙,如果可以在提示符上添加正则表达式。
【问题讨论】:
【参考方案1】:我知道你说过你不想使用窗口,但你可以通过一个带有表单面板的 Window 对象和一个配置了正则表达式的文本字段来实现这一点。
类似这样的:
Ext.QuickTips.init();
var win = new Ext.Window(
title: 'You can enter alphabets and number',
modal: true,
items : [
xtype:'form',
itemId: 'myForm',
autoheight:true,
width:300,
padding:5,
border:false,
unstyled:true,
style: 'background-color:#CCD8E7;',
items: [
xtype: 'textfield',
fieldLabel: 'Your value',
regex: new RegExp('^[a-zA-Z0-9]+$'),
regexText: 'You must enter letters and numbers only',
emptyText: 'Use Letters and Numbers'
],
bbar: [
text:'Submit',
handler: function()
//Form submit here
]
]
);
win.show();
【讨论】:
为什么使用 Ext.QuickTips.init(); ?? 将鼠标悬停在字段上时显示工具提示错误消息 感谢它的工作,但下一个问题是使项目的背景颜色与标题相同。检查了CSS,但找不到相同的。是的,我需要 3.4 版本的代码 查看我编辑的代码,我添加了无样式和边框配置选项,它可能可以进行更多调整,但这可以帮助您完成大部分工作 查看我的额外编辑,向表单添加了样式属性。老实说,这实际上偏离了您原来问题的主题。您可能应该将此标记为答案,然后问一个关于样式的新问题,如果这就是现在剩下的全部。【参考方案2】:不幸的是,Ext.Msg
的提示功能并不是为了做这些事情。
在NumberField prompt in ExtJS 中,您可以找到 2 种可能的技巧来实现这一点。但他们是黑客......
【讨论】:
没有。查看第二个答案(1 票),您会看到添加了一个正则表达式。用您想要的正则表达式替换这个正则表达式。在第一个答案(4 票)中,您可以通过返回带有正则表达式或任何您喜欢的选项的文本字段来替换return new Ext.form.field.Number(...)
。以上是关于Ext.MessageBox 提示的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
ExtJS让被遮盖的窗体显示在最前面以及解决Ext.MessageBox提示框被TabPanel覆盖的方法转