Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何限制HTML中textarea的字数_Javascript_Html - Fatal编程技术网

Javascript 如何限制HTML中textarea的字数

Javascript 如何限制HTML中textarea的字数,javascript,html,Javascript,Html,因此,我有一个文本区域,我试图限制单词计数。到目前为止,我的身体里有这个 <textarea id="theTextArea" rows="10" cols="50"></textarea> 问题是,我需要用户能够删除单词,并在需要时添加新单词。这只是在24个单词后禁用它,他们不能再修改它了我同意,如果你不禁用你的文本区域,而是在单词太多的情况下显示错误,用户体验会更好。另外,不要忘记在后端添加此检查 如果您仍

因此,我有一个文本区域,我试图限制单词计数。到目前为止,我的身体里有这个

<textarea id="theTextArea" rows="10" cols="50"></textarea>
问题是,我需要用户能够删除单词,并在需要时添加新单词。这只是在24个单词后禁用它,他们不能再修改它了

我同意,如果你不禁用你的
文本区域
,而是在单词太多的情况下显示错误,用户体验会更好。另外,不要忘记在后端添加此检查

如果您仍然想“禁用”它,您应该在
textarea
上附加一个事件侦听器,该侦听器将拦截按键并检查用户是否达到字数限制。如果是-防止按键的默认行为。这应该允许他删除单词


但在你这么做之前,想想这个例子:我加了25个单词。我想换一个。所以我想添加一个,然后删除一个。我不能用你的逻辑来做这件事。相反,在每次按键时显示实时验证,计算字数,并在
textarea

附近显示此内容,这会造成糟糕的用户体验。相反,显示剩余的字数,并显示一条消息,指示还剩多少字/用户浏览了多少字。例如,键入关于堆栈溢出的长注释。您将在文本区域下方看到一个指示器,指示还剩多少个字符/超出了多少长度。更好的做法是完成你的整个想法,然后返回并有选择地修剪它,以满足长度要求,然后在思考中被打断。@meagar Spot on!类似的问题在这里得到了解决:我已经收到一条消息,说他们已经用词不多了,但我只是想找到一种方法来限制这些单词,这样他们就不能再写了。我已经在代码的不同区域显示了字数。在这种情况下,请参阅我答案的第二段,它应该会有所帮助。
        function checkWordCount()  
                                   
        {
            var currStr = theTextArea.value;
            
            var tokens = currStr.split(" ");
            
            
            var numWords = tokens.length;
            
            wordCount.innerHTML = numWords;

            if (numWords > 24) {
                document.getElementById("theTextArea").disabled = true;
            }
        }