达到特定字符数后,如何防止输入到文本区域? [英] How to prevent input to a textarea after a certain character count is reached?
本文介绍了达到特定字符数后,如何防止输入到文本区域?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用以下代码,将删除超过指定最大值的所有输入.但这会产生一种效果,先键入一个字符,然后立即将其删除.我只想简单地阻止输入字符.
Using the below code, any input exceeding the specified maximum is removed. But this creates an effect where a character is typed and then immediately removed. I would prefer to simply prevent characters from being inputted.
<textarea id="textarea" onKeyDown="limitText()" onKeyUp="limitText()">
</textarea>
<span name="charcount_text" id="charcount_text"></span>
<script type="text/javascript">
function limitText() {
var count = document.getElementById('textarea').value.length;
var remaining = 4000 - count;
if(remaining <= 0) {
document.getElementById('charcount_text').innerHTML = '4000 character limit reached.' ;
document.getElementById('textarea').value = document.getElementById('textarea').value.substring(0, 4000);
} else if(remaining <= 50) {
document.getElementById('charcount_text').innerHTML = '4000 character limit, ' + remaining + ' remaining.';
} else {
document.getElementById('charcount_text').innerHTML = '';
}
}
</script>
推荐答案
使用maxlength
属性:
<textarea id="textarea" maxlength="4000" onkeyup="limitText()"></textarea>
function limitText() {
var ta= document.getElementById('textarea'),
count= ta.value.length,
ml= ta.maxLength,
remaining= ml - count,
cc= document.getElementById('charcount_text');
if(remaining <= 0) {
cc.innerHTML = ml+' character limit reached.' ;
} else if(remaining <= 50) {
cc.innerHTML = ml+' character limit, ' + remaining + ' remaining.';
} else {
cc.innerHTML = '';
}
}
这篇关于达到特定字符数后,如何防止输入到文本区域?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文