问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

限制 Textarea 字数

创作时间:
作者:
@小白创作中心

限制 Textarea 字数

引用
CSDN
1.
https://blog.csdn.net/qq_44695727/article/details/139503154

在Web开发中,textarea标签允许用户输入多行文本,但有时我们需要限制用户的输入字数。本文将介绍如何优雅地实现这一功能,包括使用maxlength属性和JavaScript进行更友好的用户提示。

使用maxlength属性限制输入字数

<textarea>是HTML中的一个标签,用于定义多行的文本输入控件。它允许用户在表单中输入多行文本,相较于单行输入框可以输入更多的内容。

如果我们不想让用户无限制地输入字数,可以通过设置maxlength属性来限制输入的文本长度。当输入的字符数达到设定的最大值时,用户将无法继续输入。

示例代码如下:

<textarea name="title" rows="5" maxlength="20"></textarea>

maxlength="20"时,输完20个字符后,你会发现不管再输入什么,文本框都不会有任何变化了。

剩余字数提醒

为了给用户提供更明显的反馈,我们可以在页面上显示当前已输入的字数和剩余可输入的字数。这需要使用JavaScript来监听textarea的内容变化,并实时更新显示信息。

以下是一个完整的示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>限制 Textarea 字数</title>
</head>
<body>
<textarea id="myTextarea" rows="4" cols="50" maxlength="20"></textarea>
<p id="characterCount">你还可以输入 <span id="remainingChars">20</span> 个字符</p>
<script>
    const textarea = document.getElementById('myTextarea');
    const characterCount = document.getElementById('characterCount');
    const remainingChars = document.getElementById('remainingChars');
    const maxCharacters = 20; // 设置最大字数
    textarea.addEventListener('input', function() {
        const currentCharacters = this.value.length;
        const remaining = maxCharacters - currentCharacters;
        // 更新剩余字符数
        remainingChars.textContent = remaining > 0 ? remaining : 0;
        // 如果超过最大字数,则截断内容
        if (currentCharacters > maxCharacters) {
            this.value = this.value.substring(0, maxCharacters);
        }
    });
</script>
</body>
</html>

效果如下:

通过这种方式,我们既能限制textarea的输入字数,又能给用户提供清晰的输入进度提示,从而提升用户体验。

总结

限制textarea的输入字数并不是一件难事,只要我们用对方法,就能既保证用户体验,又避免数据冗余。下次当你需要限制textarea的输入字数时,不妨试试这个方法吧!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号