Javascript:获取textarea中最后一个字符的ASCII码

时间:2017-10-22 23:25:56

标签: javascript

在我的javascript程序中,我试图显示TextArea的最后一个字符的ASCII码。为此,我获得textArea的值,获取文本区域的最后一个字符并使用charCodeAt(139)获取最后一个字符的代码,但它不起作用。谁能告诉我我的代码中有什么问题。

代码:

<!doctype html>
<html>
<head>
    <meta charset=utf-8>
    <title>signature</title>
    <style>
        #key{
            color: #ffffff;
            font-size: 20px;
            text-align: center;
        }

    </style>
</head>
<body bgcolor="#3d382a">

    <h2 style="color: #ffffff; text-align: center;"> MY MESSAGE </h2>
    <form action="#" method="post">

        <p style="text-align: center; color: #ffffff; font-size: 20px">
        <textarea id="textarea" name="text" maxlength="140" rows="15" cols="40" ></textarea><br><br>
        <span id="count"></span> characters</p><br>
        <p id="key">  </p> 

    </form>

        <script>
            var el_t = document.getElementById('textarea');
            var length = el_t.getAttribute("maxlength");
            var el_c = document.getElementById('count');
            el_c.innerHTML = length;
            el_t.onkeyup = function () {
            document.getElementById('count').innerHTML = (length - this.value.length) ;

            var str = document.getElementById('textarea').value;
            var lastChar = str.charAt(str.length - 1); 
            document.getElementById('key').innerHTML = "Last key in ASCII code: " + lastChar;
            };


        </script>
    </body>
    </html>

2 个答案:

答案 0 :(得分:1)

更改你的最后一行。现在你只需要记录最后一个字符,同时你需要获取ASCII码。

document.getElementById('key').innerHTML = "Last key in ASCII code: " + lastChar.charCodeAt(0);

&#13;
&#13;
var el_t = document.getElementById('textarea');
            var length = el_t.getAttribute("maxlength");
            var el_c = document.getElementById('count');
            el_c.innerHTML = length;
            el_t.onkeyup = function () {
            document.getElementById('count').innerHTML = (length - this.value.length) ;

            var str = document.getElementById('textarea').value;
            var lastChar = str.charAt(str.length - 1); 
            document.getElementById('key').innerHTML = "Last key in ASCII code: " + lastChar.charCodeAt(0);
            };
&#13;
<h2 style="color: #ffffff; text-align: center;"> MY MESSAGE </h2>
    <form action="#" method="post">

        <p style="text-align: center; color: #ffffff; font-size: 20px">
        <textarea id="textarea" name="text" maxlength="140" rows="15" cols="40" ></textarea><br><br>
        <span id="count"></span> characters</p><br>
        <p id="key">  </p> 

    </form>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

将最后三行移动到onkeyup函数中,每次更新输入时都会更新#key元素。你还想在charCodeAt函数中使用str.length - 1,因为你想得到最后一个字符的代码,而不仅仅是第140个字符。