javascript - 计算文本区域字符

标签 javascript jquery html textarea charactercount

我正在为这个 website 上的文本区域开发字符计数.现在,它说NaN,因为它似乎没有找到字段中有多少个字符的长度,开头是0,所以数字应该是500。在chrome开发者工具的控制台中,没有错误发生。我所有的代码都在网站上,我什至尝试使用 jQuery 和常规 JavaScript 来计算文本区域字段的字符数,但似乎没有任何效果。

请告诉我我在 contact.js 文件中的 jQuery 和 JavaScript 代码中做错了什么。

$(document).ready(function() {
    var tel1 = document.forms["form"].elements.tel1;
    var tel2 = document.forms["form"].elements.tel2;
    var textarea = document.forms["form"].elements.textarea;
    var clock = document.getElementById("clock");
    var count = document.getElementById("count");

    tel1.addEventListener("keyup", function (e){
        checkTel(tel1.value, tel2);
    });

    tel2.addEventListener("keyup", function (e){
        checkTel(tel2.value, tel3);
    });

    /*$("#textarea").keyup(function(){
        var length = textarea.length;
        console.log(length);
        var charactersLeft = 500 - length;
        console.log(charactersLeft);
        count.innerHTML = "Characters left: " + charactersLeft;
        console.log("Characters left: " + charactersLeft);
    });​*/

    textarea.addEventListener("keypress", textareaLengthCheck(textarea), false);
});

function checkTel(input, nextField) {
    if (input.length == 3) {
        nextField.focus();
    } else if (input.length > 0) {
        clock.style.display = "block";
    } 
}

function textareaLengthCheck(textarea) {
    var length = textarea.length;
    var charactersLeft = 500 - length;
    count.innerHTML = "Characters left: " + charactersLeft;
}

最佳答案

$("#textarea").keyup(function(){
  $("#count").text($(this).val().length);
});

以上将做你想做的。如果您想倒计时,请将其更改为:

$("#textarea").keyup(function(){
  $("#count").text("Characters left: " + (500 - $(this).val().length));
});

或者,您可以使用以下代码在不使用 jQuery 的情况下完成同样的事情。 (感谢@Niet)

document.getElementById('textarea').onkeyup = function () {
  document.getElementById('count').innerHTML = "Characters left: " + (500 - this.value.length);
};

关于javascript - 计算文本区域字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14086398/

相关文章:

html - 如何禁用拖动 html 元素(尤其是 "img")?

javascript - 根据 ajax 响应的值设置复选框状态

javascript - 如何根据 React js 中 api 的响应显示成功或错误消息

将 _FOO_ 替换为 <code>FOO</code> 的 JavaScript RegExp

javascript - 方法的 jQuery 选项停止工作

jquery - 从最后一项转到第一项时,光滑的旋转木马中心类不起作用

javascript - 当我在 javascript 中手动创建列表时,无法使用 querySelectorAll(); 获取值;

javascript - 根据内容的高度调整 iFrame 的大小只能放大?

asp.net-mvc - 什么是 Request.InputStream 以及何时使用它?

javascript - 警报()和确认()没有显示在iframe的父级上