【问题标题】:How can I truncate the contents of a textarea using JavaScript?如何使用 JavaScript 截断文本区域的内容?
【发布时间】:2013-09-05 07:39:16
【问题描述】:

我有一个文本字段,我正在使用 onkeypress 检查输入字符串的长度。如果它超过 n 个字符,它将返回 false 并且它不会接受任何其他字符,但是在这里我无法删除文本字段中我不想要的字符。如何删除此处的文字。

【问题讨论】:

  • 只使用文本域的最大长度特性
  • @komal - 除非我们在谈论 textarea 标签
  • 同 textarea..w3schools.com/tags/…
  • @komal:这里我不能使用 maxlength,因为我想根据字符串字节长度而不是包机数量来限制用户。所以我去js函数计算字符串的字节

标签: javascript javascript-events


【解决方案1】:

试试这个,如果你正在使用textarea

<textarea onkeypress="return limitlength(this, 20)" style="width: 300px; height: 90px"></textarea>

 function limitlength(obj, length){
    var maxlength=length
    if (obj.value.length>maxlength)
     obj.value=obj.value.substring(0, maxlength)
 }

【讨论】:

  • Agarwal:感谢您的提示,现在我正在重新分配超出我的限制的文本 :)
【解决方案2】:

使用简单的HTML5,不需要javascript:

<input type="text" maxlength="5"/>

MDN

【讨论】:

  • 它将检查字符串中的字符数,但我需要字符串的总字节数
  • 您在问题中没有提到这一点。
  • @speti43:这是我的错。
【解决方案3】:

检查 Onkeyup 事件中输入文本的长度。如果大于 n 则使用子字符串截断前 n 个字符,然后将新字符串设置为值

   $("#mytxt").onkeyup(function(){

 var Currentlength =$(this).val().length;
 var CurrentVal = $(this).val();
 if(Currentlength > n)
 {
  $(this).val(CurrentVal.substring(0,n));
  return false;
 } 
});

【讨论】:

  • OP 没有询问 JQUERY?
  • 是的,阿米特,我的错误我应该用纯 JavaScript 重写它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-03
  • 1970-01-01
  • 1970-01-01
  • 2011-06-24
  • 2012-07-31
  • 2011-05-19
相关资源
最近更新 更多