代码之家  ›  专栏  ›  技术社区  ›  Sachin R

文本区域最大长度不工作

  •  6
  • Sachin R  · 技术社区  · 14 年前

    我想设置textarea的最大长度。我正在使用以下代码,但它不起作用,

    <textarea name="txtDescription" cols=10 rows=3 maxlength=50></textarea>
    

    但它不起作用,它需要超过50个字符。

    10 回复  |  直到 14 年前
        1
  •  4
  •   Darin Dimitrov    14 年前

    没有 maxlength 为定义的属性 textarea . 你需要 implement using javascript .

        2
  •  3
  •   Douwe de Haan    4 年前

    var $limitNum = 500;
    $('textarea[name="textarea_name"]').keydown(function() {
        var $this = $(this);
    
        if ($this.val().length > $limitNum) {
            $this.val($this.val().substring(0, $limitNum));
        }
    });
    
        3
  •  2
  •   Luiggi ZAMOL    7 年前

    我在textarea中尝试了maxlength,但是没有正确计算字符数(也计算eol)。 max_length 属性而不是法线 maxlength

    HTML格式:

    <textarea name="whatever" max_length="100"></textarea>
    

    JS公司:

    $('textarea').keyup(function(){
      var maxlength = parseInt($(this).attr('max_length')),
          text = $(this).val(),
          eol = text.match(/(\r\n|\n|\r)/g),
          count_eol = $.isArray(eol) ? eol.length : 0,//error if eol is null
          count_chars = text.length - count_eol;
      if (maxlength && count_chars > maxlength)
        $(this).val(text.substring(0, maxlength + count_eol));
    });
    
        4
  •  2
  •   Douwe de Haan    6 年前

    当达林·季米特洛夫的答案在2010年发布时,答案是 maxlength

    没错,在2018年,就是这样。

    来源

    例子

    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
    <div class="container">
      <label for="without">Without maxlength</label>
      <textarea id="without" class="form-control"></textarea>
      <br>
      <label for="with">With maxlength="10"</label>
      <textarea id="with" maxlength="10" class="form-control"></textarea>
    </div>
        5
  •  0
  •   Dinch    9 年前

    如果您对maxlength attribure有问题,我的建议是首先检查您的浏览器版本。maxlength属性是HTML5中标记的新属性。在IE 10+或Chrome上应该可以。

        6
  •  -1
  •   Frank Nwoko    13 年前

        7
  •  -1
  •   Tassadaq Hussain    6 年前

    你可以用

    <textarea name="testString" onkeypress="if (this.value.length >= 250) { return false; }"id="" cols="30" rows="10" maxlength="250"></textarea>
    
        8
  •  -3
  •   Lion    9 年前

    <textarea maxlength="5"></textarea>
        9
  •  -3
  •   Eric Aya    7 年前

    :maxlength => "10"
    

    代码示例:

    <%= text_area 'order', 'special_instructions_display', :size => "85x7", :maxlength => "10"  %>
    
        10
  •  -4
  •   Aman Kaushik user335160    6 年前

    <script type="text/javascript">  
    $().ready(function(){   
    
         $("#textareaId").attr('maxlength','20');   
    
     });
    </script>