站长资源网络编程 TextArea 控件的最大长度问题(js json) 整理:jimmy2026/9/22浏览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分 一句话新闻一文看懂荣耀MagicBook Pro 16荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢? 友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 站点地图 SiteMap