站长资源网络编程 TextArea 控件的最大长度问题(js json) 整理:jimmy2026/8/6浏览2次 站长资源 网络编程 网盘链接 云盘下载 简介如果只是单纯地想限制 textarea 中的字数,不想写太多的话,可用: 或 如果只是单纯地想限制 textarea 中的字数,不想写太多的话,可用: <textarea onkeyup="this.value = this.value.slice(0, 80)"></textarea> 或 <textarea onkeyup="this.value = this.value.substring(0, 80)"></textarea> 在 textarea 的 onkeyup 中检查字数之方法: 复制代码 代码如下: <script language="javascript" type="text/javascript"> function DjCheckMaxlength(oInObj) { var iMaxLen = parseInt(oInObj.getAttribute('maxlength')); var iCurLen = oInObj.value.length; if ( oInObj.getAttribute && iCurLen > iMaxLen ) { oInObj.value = oInObj.value.substring(0, iMaxLen); } } //@ END OF DjCheckMaxlength() </script> <textarea maxlength="80" onkeyup="return DjCheckMaxlength(this);"></textarea> o 设定好自动去检查所有的 textarea 之方法: 复制代码 代码如下: <head> <script language="javascript" type="text/javascript"> function DjTextArea_AddMaxlengthAttr() { var aX = document.getElementsByTagName('textarea'); for ( var iI = 0; aX.length > iI; iI++ ) { if ( aX[iI].getAttribute('maxlength') ) { aX[iI].onkeyup = aX[iI].onchange = DjTextArea_CheckMaxlength; } } } //@ END OF DjTextArea_AddMaxlengthAttr() function DjTextArea_CheckMaxlength() { var iMaxLen = parseInt(this.getAttribute('maxlength')); var iCurLen = this.value.length; if ( this.getAttribute && iCurLen > iMaxLen ) { this.value = this.value.substring(0, iMaxLen); } } //@ END OF DjTextArea_CheckMaxlength() </script> </head> <body onload="DjTextArea_AddMaxlengthAttr();"> 复制代码 代码如下:var Inputs = { OnIntegerOnly: function() { var k = System.isIE ? event.keyCode : event.which; if(event.ctrlKey || event.ctrlAlt || event.shiftKey) { Inputs.DisableInput(event); return; } if ( ( k < 48 || k > 57 ) && 8 != k && 9 != k && 46 != k && 37 != k && 39 != k && 16 != k && 36 != k && 35 != k && 17 != k && 13 != k && ( k < 96 || k > 105 ) ) { Inputs.DisableInput(event); } return k; }, OnDecimalOnly: function() { var k = System.isIE ? event.keyCode : event.which; if(event.ctrlKey || event.ctrlAlt || event.shiftKey) { Inputs.DisableInput(event); return; } if( ( k < 48 || k > 57 ) && 8 != k && 9 != k && 46 != k && 37 != k && 39 != k && 16 != k && 36 != k && 35 != k && 17 != k && 13 != k && 190 != k && 110 != k && ( k < 96 || k > 105 ) ) { Inputs.DisableInput(event); } return k; }, OnAsciiOnly: function() { var k = System.isIE ? event.keyCode : event.which; if ( ( k < 97 || k > 122 ) && ( k < 65 || k > 90 ) && ( k < 48 || k > 57 ) && 8 != k && 9 != k && 46 != k && 37 != k && 39 != k && 16 != k && 36 != k && 35 != k && 17 != k && 13 != k && 189 != k && 187 != k ) { Inputs.DisableInput(event); } return k; }, DisableInput: function(event) { if(System.isIE) event.returnValue = false; else event.preventDefault(); }, AddOnPos: function(obj, charvalue) { //obj代表要插入字符的输入框 //value代表要插入的字符 obj.focus(); var r = document.selection.createRange(); var ctr = obj.createTextRange(); var i; var s = obj.value; //注释掉的这种方法只能用在单行的输入框input内 //对多行输入框textarea无效 //r.setEndPoint("StartToStart", ctr); //i = r.text.length; //取到光标位置----Start---- var ivalue = "&^asdjfls2FFFF325%$^&"; r.text = ivalue; i = obj.value.indexOf(ivalue); r.moveStart("character", -ivalue.length); r.text = ""; //取到光标位置----End---- //插入字符 obj.value = s.substr(0,i) + charvalue + s.substr(i,s.length); ctr.collapse(true); ctr.moveStart("character", i + charvalue.length); ctr.select(); }, MaxLength: function() { var _this = event.srcElement; var iMaxLen = parseInt(_this.getAttribute('maxlength')); switch(event.type) { case 'beforepaste': { event.returnValue = false; } break; case 'paste': { var iTxtLen = _this.value.lenUTF8(); var txtCbd = window.clipboardData.getData("Text"); var iCbdLen = txtCbd.lenUTF8(); if((iMaxLen - iTxtLen) <= iCbdLen) { var iSurplusLen = iMaxLen - iTxtLen; var subStr = txtCbd.substr(0, iSurplusLen); var insertStr = ''; for(var i = 0; i < subStr.length; i++) { var chr = subStr.substr(i, 1); if(iSurplusLen >= chr.lenUTF8()) { insertStr += chr; iSurplusLen -= chr.lenUTF8(); } } Inputs.AddOnPos(_this, insertStr); //_this.style.backgroundColor = 'red'; //System.setTimeout(Inputs.ColorTips, 500, _this); event.returnValue = false; event.srcElement.style.imeMode = 'disabled'; } else { event.returnValue = true; event.srcElement.style.imeMode = 'auto'; } } break; case 'keypress': { var iTxtLen = _this.value.lenUTF8(); if(iMaxLen <= iTxtLen) { while(_this.value.lenUTF8() > iMaxLen) { _this.value = _this.value.substr(0, _this.value.length - 1); } Inputs.DisableInput(event); if('disabled' != event.srcElement.style.imeMode) { event.srcElement.style.imeMode = 'disabled'; } } else { if('auto' != event.srcElement.style.imeMode) { event.srcElement.style.imeMode = 'auto'; } } } break; case 'keyup': { var k = System.isIE ? event.keyCode : event.which; if (8 != k && 9 != k && 46 != k && 37 != k && 39 != k && 16 != k && 36 != k && 35 != k && 17 != k && 13 != k && 189 != k && 187 != k ) { if(_this.getAttribute) { _this.fireEvent('onkeypress'); } } } break; case 'keydown': { var k = System.isIE ? event.keyCode : event.which; if (8 != k && 9 != k && 46 != k && 37 != k && 39 != k && 16 != k && 36 != k && 35 != k && 17 != k && 13 != k && 189 != k && 187 != k ) { var iTxtLen = _this.value.lenUTF8(); if(iMaxLen <= iTxtLen) { Inputs.DisableInput(event); } } } break; } }, TextAreaMaxLength: function() { var aX = document.getElementsByTagName('textarea'); for(var i = 0; i < aX.length; i++) { if(aX[i].getAttribute('maxlength')) { aX[i].detachEvent('onbeforepaste', Inputs.MaxLength); aX[i].detachEvent('onpaste', Inputs.MaxLength); aX[i].detachEvent('onkeypress', Inputs.MaxLength); aX[i].detachEvent('onkeyup', Inputs.MaxLength); aX[i].detachEvent('onkeydown', Inputs.MaxLength); aX[i].attachEvent('onbeforepaste', Inputs.MaxLength); aX[i].attachEvent('onpaste', Inputs.MaxLength); aX[i].attachEvent('onkeypress', Inputs.MaxLength); aX[i].attachEvent('onkeyup', Inputs.MaxLength); aX[i].attachEvent('onkeydown', Inputs.MaxLength); /* var res = 'zh-cn' == window.navigator.systemLanguage ? '最大长度:' : 'Maximum length for: '; if('' == aX[i].title) aX[i].title = res + aX[i].getAttribute('maxlength'); */ } } }, TextBoxMaxLength: function() { var aX = document.getElementsByTagName('input'); for(var i = 0; i < aX.length; i++) { var maxLen = aX[i].getAttribute('maxlength'); if('text' == aX[i].type && null != maxLen && '' != maxLen && undefined != maxLen && 2147483647 > parseInt(maxLen) && '' == aX[i].title) { aX[i].detachEvent('onbeforepaste', Inputs.MaxLength); aX[i].detachEvent('onpaste', Inputs.MaxLength); aX[i].detachEvent('onkeypress', Inputs.MaxLength); aX[i].detachEvent('onkeyup', Inputs.MaxLength); aX[i].attachEvent('onbeforepaste', Inputs.MaxLength); aX[i].attachEvent('onpaste', Inputs.MaxLength); aX[i].attachEvent('onkeypress', Inputs.MaxLength); aX[i].attachEvent('onkeyup', Inputs.MaxLength); /* var res = 'zh-cn' == window.navigator.systemLanguage ? '最大长度:' : 'Maximum length for: '; aX[i].title = res + aX[i].getAttribute('maxlength'); */ } } } } Tools.Inputs = Inputs; window.attachEvent('onload', Tools.Inputs.TextAreaMaxLength); window.attachEvent('onload', Tools.Inputs.TextBoxMaxLength); 上一篇:JavaScript 解析Json字符串的性能比较分析代码 下一篇:比较详细的关于javascript 解析json的代码 最新资源 群星《奔赴!万人现场 第2期》[FLAC/分轨] 群星《奇妙浪一夏 (上海迪士尼度假区音乐 群星《奇妙浪一夏 (上海迪士尼度假区音乐 【古典音乐】詹姆斯·高威《季节》1993[WA 贝拉芳蒂《卡里普索之王》SACD[WAV+CUE] 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE 群星《欢迎来到我身边 电影原声专辑》[32 群星《欢迎来到我身边 电影原声专辑》[FL 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低 群星《2024好听新歌42》AI调整音效【WAV分 一句话新闻高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。 标签云1080P高清(5)高清电影(5)百度云盘(5)网盘下载(4)破解软件(4)绿色软件(4)磁力链接(3)强度天梯(3)福利资源(2)王者荣耀(2)黑钻活动(2)WPS会员(2)刷图排行(1)网盘限速(1)鬼灭之刃(1)免费韩国漫画(1)宫本重做(1)免费动漫(1) 友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 站点地图 SiteMap