【问题标题】:textarea maxlength attrribute and string length() inconsistenciestextarea maxlength 属性和字符串长度()不一致
【发布时间】:2013-06-21 06:32:15
【问题描述】:

尝试在文本区域下方写入剩余可用字符数。当我添加很多换行符时,以下脚本无法按预期工作:

$textarea.keyup(function () {
  $div.text("Remaining characters: " + (parseInt($textarea.attr("maxlength"), 10) - $textarea.val().length));
})

当有很多换行符时,脚本会在我无法编写任何内容时报告更多可用字符。尝试将 \r\n 替换为 \n 然后计算字符串长度,但无济于事。

怎么了? :)

JS FIDDLE Link

编辑:只有 Chrome(最新 -- 27.0.1453.116)不能按预期工作

【问题讨论】:

  • 如果你能设置一个小提琴,那就更好了。
  • 哇,谢谢 badzoke。正要添加这个:jsfiddle.net/bxFbL。惊人的相似! :D
  • Fiddle 在我所有的浏览器中都能正常工作,每次“输入”点击都会使计数器减少 1。
  • 是的,Tommi,但是当您到达底部并且无法再写任何内容时(因此您已经达到了 maxlength 属性),文本仍然显示还有剩余的字符可用。 (在 chrome 上测试)

标签: javascript jquery html maxlength


【解决方案1】:

你可以使用这个jQuery插件:jQuery MaxLength这样配置它:

$('$textarea').maxlength({
    alwaysShow: true,
    preText: 'Remaining characters: ',
    postText: ' '
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 2022-08-08
    相关资源
    最近更新 更多