限制textarea的输入字数

  今天接到任务的第一个需求是限制字数,查看了一下之前人留下来的代码,使用的是textarea,于是就想当然的用了maxlength,结果发现无用。查阅得知,原来textarea对于maxlength的支持要到ie10了,客户偏偏要求开发环境是ie8。。。只好重新寻找方法。

这里的需求难点主要是不单单对于键盘输入需要限制,同时对于复制粘贴也要限制。最好的方法就是在用户超过限制的时候,弹出弹框,并强制取范围内的输入字符。这样能够较好的实现前端的用户要求,对于以后的数据库处理也比较方便。

原本想的是用key相关方法来检测,具体方法写法很简单:

1     <script>
2         function LimitTextArea(field) {
3             maxlimit = 4000;
4             if (field.value.length > maxlimit) {
5                 field.value = field.value.substring(0, maxlimit);
6                 alert("字数不得多于4000!");
7             }
8         }
9     </script>
1 <textarea id="mqOne" name="mqOne" cols="10" rows="5" style="width: 200px" onKeyDown="LimitTextArea(this)" onKeyUp="LimitTextArea(this)" onkeypress="LimitTextArea(this)"></textarea>

但是事实证明这个方法对于鼠标操作无法检测,对于ctrl+v倒是可以。最后采用的是onpropertychange方法:

<textarea id="mqOne" name="mqOne" cols="10" rows="5" style="width: 200px" onpropertychange="LimitTextArea(this)"></textarea>

可是这也是IE专有的方法,FF之类的可以使用oninput的方法,使用方法同样:

<textarea id="mqOne" name="mqOne" cols="10" rows="5" style="width: 200px" oninput="LimitTextArea(this)"></textarea>

如果使用了浏览器检测可以分开,如果没有可以把两个属性写在一起同时使用,暂时没发现什么问题。

时间: 2024-07-29 22:11:25

限制textarea的输入字数的相关文章

实现textarea限制输入字数(包含中文只能输入10个,全ASCII码能够输入20个)

textarea称文本域,又称文本区,即有滚动条的多行文本输入控件,在网页的提交表单中经常用到.与单行文本框text控件不同,它不能通过maxlength属性来限制字数,为此必须寻求其他方法来加以限制以达到预设的需求. 通常的做法就是使用#脚本语言来实现对textarea文本域的字数输入限制,简单而实用.假设我们有一个id为 txta1 的textarea文本区,我们可以通过以下代码限制它的键盘输入字数为10个字(汉字或其他小角字符): <script language="#"

textarea 限制输入字数

? 1 2 3 4 5 6 7 8 <script type="text/javascript">         function limitChars(id, count) {             var obj = document.getElementById(id);             if (obj.value.length > count) {                 obj.value = obj.value.substr(0, co

实现textarea限制输入字数(from www.sysoft.cc)

实现textarea限制输入字数(包含中文只能输入10个,全ASCII码能够输入20个) textarea称文本域,又称文本区,即有滚动条的多行文本输入控件,在网页的提交表单中经常用到.与单行文本框text控件不同,它不能通过maxlength属性来限制字数,为此必须寻求其他方法来加以限制以达到预设的需求. 通常的做法就是使用#脚本语言来实现对textarea文本域的字数输入限制,简单而实用.假设我们有一个id为 txta1 的textarea文本区,我们可以通过以下代码限制它的键盘输入字数为1

textarea中输入字数的限制

<textarea id="area" name="ss" placeholder="请输入文本内容" rows="10" cols="50" onkeydown='inputLimit(this,1,2000);' onkeyup='inputLimit(this,1,2000);'></textarea> <script type="text/javascript

jQuery实现的计算textarea可输入剩余字数

jQuery实现的计算textarea可输入剩余字数:textarea一般是用来输入文字性内容的,不过出于各种原因的考虑,文字的数量一般是受到限制的,下面就通过实例代码介绍一下,如何实现此效果,代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy

监听文本框输入开发仿新浪微博限制输入字数的textarea插件

监听文本框输入 Firefox.Chrome.IE9,IE10 均支持 oninput 事件,此外所有版本的 IE 均支持 onpropertychange 事件. oninput 事件在用户输入.退格(backspace).删除(delete).剪切(ctrl + x).粘贴(ctrl + v)及鼠标剪切与粘贴时触发(在 IE9 中只在输入.粘贴.鼠标粘贴时触发). onpropertychange 事件在用户输入.退格(backspace).删除(delete).剪切(ctrl + x).粘

用javascript实现控制一个文本框的输入字数限制,超出字数限制文本框飘红显示-面试题

用javascript实现控制一个文本框的输入字数限制,超出字数限制文本框飘红显示. html <textarea name="" id="text" cols="30" rows="10" maxLength=10></textarea><br> <span id="span"></span> javascript var str = docum

textarea 输入框限制字数

在textarea标签中,只需要设置maxlength=”***”即可,但是在textarea标签中,IE9及IE9以下浏览器是不支持的,IE10.IE11则支持,估计后续的版本应该都会支持. 现在来说下怎么让大部分IE版本都支持textarea 标签限制字数. 第一种方法: <textarea id="taContent" rows="3"  maxlength="20" onchange="this.value=this.va

JQ限制输入字数,并提示剩余字数

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ