zoukankan      html  css  js  c++  java
  • textarea 输入框限制字数

    在textarea标签中,只需要设置maxlength=”***”即可,但是在textarea标签中,IE9及IE9以下浏览器是不支持的,IE10、IE11则支持,估计后续的版本应该都会支持。

    现在来说下怎么让大部分IE版本都支持textarea 标签限制字数。

    第一种方法:

    <textarea id="taContent" rows="3"  maxlength="20" onchange="this.value=this.value.substring(0, 20)" onkeydown="this.value=this.value.substring(0, 20)" onkeyup="this.value=this.value.substring(0, 20)" ></textarea>

    这样子即可。

    备注:onchange、onkeydown、onkeyu三者缺一不可。

    如省略onchange,当你用负责功能,此时一直按着ctrl不松开,鼠标去点击其他地方(焦点移出textarea)时,不会自动取消超出部分;

    如省略onkeydown,猛敲的时候会有很多个字符突然不见了;

    如省略onkeyup,原想预计20的情况下,会变成21,并且最后一个字符是最后敲进去的。

    Maxlength 也不可省略,加上maxlength 当碰到IE10及以上版本时,可以完美的实现限制输入框字数的功能。不想其他低版本的IE浏览器还可以出现一个字母后消失。

    第二种方法:

    <textarea onkeyup="checkLen(this)"></textarea>

    <div>您还可以输入 <span id="count">3</span> 个文字</div>

    <script type="text/javascript">

    function checkLen(obj) {

    var maxChars = 3;//最多字符数

    if (obj.value.length > maxChars) obj.value = obj.value.substring(0,maxChars);

    var curr = maxChars - obj.value.length;

    document.getElementById("count").innerHTML = curr.toString();

    }

    </script>

    以上两种方法都是兼容各大主浏览器的(包括IE6)。

  • 相关阅读:
    JavaScript调试
    HTML5 Content Editable实践
    微信中a链接无法进行跳转
    javascript数据类型理解整理
    做个实用的选择器,从此远离满世界找插件
    Ajax中get和post使用问题
    JSON.stringify()、JSON.parse()和eval(string)
    PHP插入header('content-type:text/html;charset="utf-8')和error_reporting()
    Ajax关于readyState(状态值)和status(状态码)的研究
    堆排序中的上滤和下滤
  • 原文地址:https://www.cnblogs.com/imsomnus/p/3836435.html
Copyright © 2011-2022 走看看