遍历Ext web页面所有的文本框

 

最近一直用ext做的web页面,为了验证页面中所有文本框输入的数据是否含有特殊字符。

解决方法(1):其实可以直接屏蔽掉特殊字符,不让用户输入。这样也就无所谓检测了。

解决方法(2):遍历整个web页面的所有文本框,对其值进行判断,并返回结果。

  具体过程:

  

 1 /****************************特殊字符校验时处理*********************************/
 2 function CheckSpecialWords() {
 3     var RetvalStr = "";
 4     try {
 5         Ext.each(Ext.query("*[type=text]"), function(item) {
 6             if (item.value != "") {
 7                 if (item.getAttribute("SpecialWorkCheck") != null) {
 8                     if (!CheckSpecialWord(item.value)) {
 9                         RetvalStr += item.getAttribute("SpecialWorkCheck") + ",";
10                     }
11                 }
12 
13             }
14         });

  第5行是检索页面中所有“type=text”的控件。在此用到Ext.query()获取一个js数组,而不是用Ext.select()。因为slelect方法是返回一个ext的对象。

  在这个检索条件获取的所有控件包含文本框、下拉列表、和日期控件,实际上只需要获取所有的文本框就可以了。但是好像没有什么好的判断条件来区别它们的不同。

  第7行判断属性“SpecialWorkCheck”是否存在。该属性是在做web页面时,对每个需要特殊字符验证的控件所添加的。它的值为当前控件的"label"(实际上,在用Ext.query()获取到控件时,它是没有label属性的)。

  第8行是验证特殊字符的方法。

  第9行则返回所有包含特殊字符的文本框的"label"值。

 

  在获取页面控件时曾经遇到一个问题。如果web页面存在tab,在页面初始加载完成后。直接点击“保存”触发上面的js方法,结果调试时发现只获取了当前active-tab 的控件,而没有获取其它tab的控件。而实际上如果其它tab没有激活,那么对它进行特殊字符验证也是没有必要的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值