【问题标题】:textarea maxlength attribute not counting special characters immediatelytextarea maxlength 属性不立即计算特殊字符
【发布时间】:2015-12-31 12:01:23
【问题描述】:

下面是一段代码,它给出了一个文本区域并限制了编号。其中的字符数:

<textarea ng-model="someText" placeholder="Type..." maxlength="10"></textarea>
<span class="counter">{{10-someText.length}}</span>

它不反映剩余的字符,在输入空格或输入时,除非我输入一个普通字符。

例如, 当我输入 a 它显示 9(如预期)

当我输入 a 和两个 空格 时,它会显示 9(特殊字符不会立即计算在内)

当我输入 a 和两个 空格b 时,它会显示 6(如预期)

我如何获得正确的编号。剩余字符数?

【问题讨论】:

  • 你试过我的解决方案了吗?还有其他问题吗?告诉我。
  • 谢谢 AndreaM16。您的解决方案效果很好。现在它正在计算特殊字符。抱歉延迟重播。

标签: javascript angularjs textarea special-characters maxlength


【解决方案1】:

您必须使用 ng-trim="false" 来计算换行符、空格和特殊字符。试试这样:

<textarea ng-model="someText" placeholder="Type..." maxlength="10" ng-trim="false">
</textarea>
  <span class="counter">{{10 - someText.length}} still remaining!</span>

希望我对您有所帮助。

【讨论】:

  • Fiddle 在 Firefox 中运行良好,但在 chrome 中不行。当我按 Enter 键时,chrome 将其计为 2 个字符,但 mozilla 将其计为 1。
  • 这真的很奇怪,等我在家的时候再看看。
猜你喜欢
  • 1970-01-01
  • 2012-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-28
  • 2011-11-07
相关资源
最近更新 更多