VBScript处理正则表达式
需要写一段VBScript来处理这样一个信息:
给定一个字符串,过滤掉英文字母和下划线。 |
百度了下相关VBScript语法。第一个VBS代码,贴个纪念下:
Dim re, s Set re = New RegExp re.Pattern = "[a-zA-Z_]" '匹配英文字符和下划线 re.Global = True s = "abc_DEF提取的中文字符." MsgBox re.Replace(s, "") '弹出过滤后的信息
网页上更改鼠标样式
特殊要求,做的东东上不能使用默认的鼠标样式,需要一些比较卡哇伊的鼠标样式.
百度了下得:
1.首先得下载.ani或者.cur的文件.这些文件就是鼠标的样式.
2.在需要更改的页面上添加CSS样式.如下:
<STYLE type=text/css> <!-- 默认的地方使用0041.ani 样式 --> body{cursor:url('0041.ani');} <!-- 滑过链接时使用 0081.ani 样式 --> a{cursor:url('0081.ani');} </STYLE>
只是例子,要怎么扩展使用得看具体情况了...完毕
JavaScript关闭子窗口时刷新主窗口方法
JavaScript关闭子窗口时刷新主窗口方法是:
在子窗口的<body>中加入onunload事件加入:window.opener.location.reload();
即:<body onunload="window.opener.location.reload();">即可
ExtJs中出现this.ds.fields.get(i) is undefined错误解决方法
出现问题如题:依旧谷歌得:
原因:在Grid的列定义中一定要指定dataIndex属性,即使没有store中的对应上(比如一些附加字段)也要指定一个dataIndex,否则就会出现this.ds.fields.get(i) is undefined的错误。
解决方法:当然就是补上列定义中的dataIndex属性咯..
ExtJs中出现this.config[col] is undefined错误解决方法
问题如上,谷歌得:
原因 :
在Grid定义的时候对某列使用了autoExpandColumn属性,而这个属性所指定的是某列定义的id属性,
该列上没有指定id,所以出错了。
解决方法:
在被扩展的那些列指定id属性即可,id属性所指定的值当然要和autoExpandColumn所指定的一样啦。
ExtJs提交表单页面总回调failure解决方法
记得这个问题搞了一个多小时,真悲剧...
原因:回调success或failure是根据返回来的参数的json串中的"success"的值来决定的
例如返回:{"success":true}则调用success,如果返回{"success":false}则调用failure,因此在与Strust2中的Action中加入属性boolean success即可,并且需将其序列化为名字为"success",如下:
@JSON(name = "success") public boolean isSuccess() { return success; }
Action可通过设定success的属性值来控制是返回success或failure
ExtJs ComboBox提交值的问题
前不久做的一个登录框,下拉选择框是选择登录的角色,本来设定name='userBean.role',但是后台Action打印发现,得到的总是页面上的显示值,这显然不是我想要的,谷歌发现:
只要想得到真实设定的值,只需要把属性换成hiddenName即可,即hiddenName='userBean.role'
JavaScript中prototype属性的用法
前段时间修改公司的一个流程设计器代码,现在有时间整理一些小结。这里要讲的是关于javascript中的prototype属性的用法,有了prototype属性,才感觉javascript有点面向对象的感觉,有了继承多态的感觉。其实prototype是设计模式中的原型设计模式。看如下一段代码,接着上次的代码:
<script type="text/javascript"> <!-- 声明顶层命名空间 或者 var org = {}; --> var org = {}; <!-- 增加子命名空间 --> org.cst = {}; <!-- 增加子命名空间 --> org.cst.js = {}; <!-- 在org.cst.js命名空间里增加类Util --> org.cst.js.BaseUtil = function(){ this.className = "org.cst.js.BaseUtil"; }; org.cst.js.SubUtil = function(){ this.className ; } <!-- 子类引用了父类的属性值 --> org.cst.js.SubUtil.prototype = new org.cst.js.BaseUtil(); <!-- 之类扩展了自己的方法 --> org.cst.js.SubUtil.prototype.getClass = function(){ return this.className; } <!-- 使用类 --> var util = new org.cst.js.SubUtil(); alert(util.className); <!-- 输出org.cst.js.BaseUtil --> alert(util.getClass()); <!-- 输出org.cst.js.BaseUtil --> </script>
JavaScript中的命名空间使用
命名空间的引入实际上是为了防止类名的冲突,在javascript中也是,其实javascript并没有命名空间这一说法,但是却有了这种方法来模拟命名空间,在java中不叫命名空间,叫包名。现在来看看一段javascript实现的命名空间代码:
<script type="text/javascript"> <!-- 声明顶层命名空间 或者 var org = {}; --> var org = {}; <!-- 增加子命名空间 --> org.cst = {}; <!-- 增加子命名空间 --> org.cst.js = {}; <!-- 在org.cst.js命名空间里增加类Util --> org.cst.js.Util = function(){ alert('this is my util'); }; <!-- 使用类 --> var util = new org.cst.js.Util(); </script>
JavaScript对Json的增删改属性
使用JS对Json数据的处理,项目遇到需要对Json数据进行相关操作,比如增删改操作,本以为会比较难,网上搜索下,发现还是比较简单的,贴一段代码:
<script type="text/javascript"> var json = { "age":24, "name":"cst" }; //修改Json中的age值,因为Json中存在age属性 json["age"] = 30; alert(json.age); //30 //增加Json中的sex值,因为Json中不存在sex属性 json["sex"] = "M"; alert(json.sex); //M <!-- 遍历Json中的数据 --> for(var key in json){ try{ var value = eval("json['" + key +"']"); alert(key+"_"+value); }catch(e){} } //删除Json数据中的age属性 delete json["age"]; alert(json.age); //undefined </script>