javascript控制textbox字数的脚本 非常好用

以前做项目时候经常用到多行输入框字数的控制以及统计显示的情况,综合了几种情况后现在固定用了这个脚本。

例如 要输入描述textbox

<div> <h3> 描述:</h3> <asp:TextBox runat="server" ID="tbdesciption" Height="200px" TextMode="MultiLine" οnkeyup="textCounter(this,'shengyu',500)" οnkeydοwn="textCounter(this,'shengyu',500)" AutoCompleteType="None" Columns="100" MaxLength="1000" Width="500px"></asp:TextBox> </div> <div>您还可以输入:<input type="text" readonly="readonly" style=" width:22px; color:Red; border:0px;" mce_style=" width:22px; color:Red; border:0px;" id="shengyu" />个字</div>

javascript代码:

function textCounter(fieldId, countfieId, maxlimit) { var fieldEle = fieldId; var countfieldEle = document.getElementById(countfieId); if (fieldEle == null || countfieldEle == null) { return false; } if (fieldEle.value.gblen() > maxlimit) // too long... trim it //fieldEle.value = fieldEle.value.substring(0, maxlimit); fieldEle.value = fieldEle.value.gbtrim(maxlimit, ''); else countfieldEle.value = maxlimit - fieldEle.value.gblen(); } String.prototype.gblen = function() { var len = 0; for (var i = 0; i < this.length; i++) { if (this.charCodeAt(i) > 127 || this.charCodeAt(i) == 94) { len += 1; } else { len++; } } return len; } String.prototype.gbtrim = function(len, s) { var str = ''; var sp = s || ''; var len2 = 0; for (var i = 0; i < this.length; i++) { if (this.charCodeAt(i) > 127 || this.charCodeAt(i) == 94) { len2 += 1; } else { len2++; } } if (len2 <= len) { return this; } len2 = 0; len = (len > sp.length) ? len - sp.length : len; for (var i = 0; i < this.length; i++) { if (this.charCodeAt(i) > 127 || this.charCodeAt(i) == 94) { len2 += 1; } else { len2++; } if (len2 > len) { str += sp; break; } str += this.charAt(i); } return str; }

在页面的底部初始化数字显示lable的值,也可以直接写进去。

<mce:script type="text/javascript" language="javascript"><!-- var countfieldEle = document.getElementById("shengyu"); countfieldEle.value = 500; // --></mce:script>

顶部引入js文件即可 非常简单好用

转载于:https://www.cnblogs.com/soief/archive/2010/05/14/1993896.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值