上一篇:window.external的使用 >>
利用HTC技术限制多行输入框的内容的长度(转载)
豆腐制作 都是精品
http://www.asp888.net 豆腐技术站
如转载 请保留完整版权信息
*/
我们知道有的时候必须对文本输入框的输入长度进行限制,我们可以通过很简单的maxlength 对Text 和 Password
类型的输入框的输入长度进行限制,可是当我们对TextArea 使用maxlength 使用maxlength属性的时候,我们遗憾
的发现,这个属性在textarea中是不起作用的
有没有办法呢?答案是肯定的,有!就是使用HTC的技术,什么是HTC??简单的说,htc就是HTML Component,豆腐言语
表达能力不强,我们看看下面的例子就可以了
test.html:
<form method="POST">
<p><input type="text" size="30" maxlength="50" name="T1">
<textarea name="S1" rows="4" cols="30" maxlength="50" style="behavior:url(maxlength.htc)"></textarea>
</form>
大家注意到 以前很少见过 这样的 用法: style="behavior:url(maxlength.htc)" 我们再看看
下面的htc 的内容
<PUBLIC:COMPONENT id="bhvMaxlength" urn="maf:Maxlength">
<PUBLIC:PROPERTY name="maxLength" />
<PUBLIC:ATTACH event="onkeypress" handler="doKeypress" />
<PUBLIC:ATTACH event="onbeforepaste" handler="doBeforePaste" />
<PUBLIC:ATTACH event="onpaste" handler="doPaste" />
<SCRIPT language="JScript">
// Keep user from entering more than maxLength characters
function doKeypress(){
if(!isNaN(maxLength)){
maxLength = parseInt(maxLength);
var oTR = element.document.selection.createRange();
// Allow user to type character if at least one character is selected
if(oTR.text.length >= 1)
event.returnValue = true;
else if(value.length > maxLength-1)
event.returnValue = false;
}
}
// Cancel default behavior
function doBeforePaste(){
if(!isNaN(maxLength))
event.returnValue = false;
}
// Cancel default behavior and create a new paste routine
function doPaste(){
if(!isNaN(maxLength)){
event.returnValue = false;
maxLength = parseInt(maxLength);
var oTR = element.document.selection.createRange();
var iInsertLength = maxLength - value.length + oTR.text.length;
var sData = window.clipboardData.getData("Text").substr(0,iInsertLength);
oTR.text = sData;
}
}
</SCRIPT>
</PUBLIC:COMPONENT>
关于htc 的内容讲解在 MSDN 站点上是非常详细的,有兴趣的朋友可以到http://msdn.microsoft.com/workshop/components/htc/reference/htcref.asp
作者:豆腐(原创)
下一篇:“画中画”效果---谈Iframe标记的使用 >>
相关文章:
- · 继(太长了)
- · 加密页面代码生成器
- · ASCII 字形生成器
- · IE 5.5 的内置编辑器(在MSDN ONLINE翻出来的资料)
- · 滚动条颜色生成器IE5.5+
- · 设置open方法中的参数
- · 打开页面就是全屏的方法
- · javascript 实现下拉列表连动,提示:Array not defined
- · 利用javascript实现时间段的查询
- · 表单填写时用 回车 代替 TAB 的实现方式
- · javascript里类似select case 该如何用?
- · javascript里类似select case 该如何用?
- · 在javascript 里面有没有检查日期格式的函数?
- · js中with的和case的用法
- · asp的cookie本身不设置的话默认的是application的path=/,所以不设关系不大,expires要设。给你netscape...
- · html的标准里这样写的。
- · Dreamweaver 4 & UltraDev 4两个BUG(字体设置不能保存和行号显示错位)的解决方法
- · 一个DHTML的例子——3D文字
- · 如何做页面自动刷新,又不用让用户按回车键来提交数据!(大功告成)
- · javascript对象与数组参考大全1
- · javascript对象与数组参考大全2
- · 一个点击后自动滚屏的例子!
- · 一个鼠标自动移动的js例子!
- · window.showModalDialog()中有三个参数,各有什么用,请举例!
- · 三级下拉框连动的数据库版!
- · 给一个类增加属性和方法?看看这个够不够?
- · 在网页中实现OICQ里的头像选择的下拉框 (附例子)
- · 请看用javascript设置和读取cookie的简单例子.....
- · 请看被打开的子窗口继承父窗口定义的styleSheets的例子
- · 经常有人询问如何用javascript判断日期是否有效,我以前也遇到过,不过后来得高人指点解决了,贴出来大...
- · ShowModalDialog的具体用法
- · 下拉式互动列表框(EC潮流网同学录之真情留言板使用的代码)
- · MSGBOX返回值
- · js中几种去掉字串左右空格的方法,请看
- · VBSctipt 5.0中的新特性
- · Jscript 5.0中的新特性
- · 加快 DHTML 的一组技巧(Copy from Microsoft)
- · 一个不太让人讨厌的自动弹出窗口:)
