javascript - 如果预填充文本区域,如何显示剩余字符?
问题描述
如果我预先填写了 textarea,则 250 个字符实际上并没有计算其中已经存在的默认单词。只有当您开始在其中输入内容时,它才会开始计数。
另外,如何在“剩余 100 个字符”上将文本颜色更改为黄色,并在“剩余 0 个字符”上更改为红色
有人可以帮忙吗?
function handle(){
let element = document.getElementById('input')
let value = element.value
let maxLength = element.maxLength
document.getElementById('remaining').innerText = `${maxLength - Number(value.length)} characters remaining`
}
<textarea col="8" rows="8" maxlength='250' onkeyup="handle()" id="input" value="">Hello World. Im born today.</textarea>
<p id='remaining'>250 characters remaining</p>
解决方案
250 个字符实际上并没有计算其中已经存在的默认单词。只有当您开始在其中输入内容时,它才会开始计数。
只需在页面加载时运行一次您的函数:
function handle() {
let element = document.getElementById('input')
let value = element.value
let maxLength = element.maxLength
document.getElementById('remaining').innerText = `${maxLength - Number(value.length)} characters remaining`
}
handle();
<textarea col="8" rows="8" maxlength='250' onkeyup="handle()" id="input" value="">Hello World. Im born today.</textarea>
<p id='remaining'>250 characters remaining</p>
如何在“剩余 100 个字符”上将文本颜色更改为黄色,并在“剩余 0 个字符”上更改为红色
if
对每个做一个keyup
:
function handle() {
let element = document.getElementById('input');
let value = element.value;
let maxLength = element.maxLength;
document.getElementById('remaining').innerText = `${maxLength - Number(value.length)} characters remaining`;
if (maxLength - Number(value.length) == 0) {
document.getElementById('remaining').style.color = "red";
} else if (maxLength - Number(value.length) <= 100) {
document.getElementById('remaining').style.color = "yellow";
}
}
handle();
<textarea col="8" rows="8" maxlength='250' onkeyup="handle()" id="input" value="">Hello World. Im born today.</textarea>
<p id='remaining'>250 characters remaining</p>
推荐阅读
- ios - UITapGestureRecognizer 静态方法崩溃
- node.js - 如何串行(非并行)运行 ChromeDriver 请求?
- json - 尝试动态创建 UI/Image 元素并不断更新它们
- python-3.x - 解析有序字典python
- json - SQL Server 2012 中的字符编码问题
- javascript - Javascript 代码未在 Chrome 控制台上执行
- rust - 有没有办法声明一个接受实现 FromStr 的类型作为错误的结果?
- javascript - 为对象数组反应输入 setState
- javascript - 无法获取 req.userData.role 的值
- python - Gimp 程序中的 OpenCV Python 脚本 - 草/硬表面边缘检测