javascript - 如何验证文本区域并在编写时抛出错误?
问题描述
我有一个文本区域,我希望它达到最大长度以显示错误(不是在按下提交之后)代码:
HTML
<textarea maxlength="5000" id="summernote" rows="4" cols="30"></textarea>
<p id="message"></p>
JS
$(document).ready(function () {
var area = document.getElementById("summernote");
var message = document.getElementById("message");
var maxLength = 5000;
var checkLength =()=> {
if (area.value.length < maxLength) {
message.innerHTML = "5000 karaktere";
}
}
setInterval(checkLength, 300);
})
解决方案
不要使用 a setInterval
,而是使用input
事件。此外,您当前正在检查输入字符串的长度是否小于 maxlength,而您应该检查它是否相等。
document.querySelector("#summernote").addEventListener("input", function(e){
if(this.value.length == this.maxLength){
document.querySelector("#message").textContent = `Max length of ${this.maxLength} characters reached.`;
}
});
<textarea maxlength="10" id="summernote" rows="4" cols="30"></textarea>
<p id="message"></p>
推荐阅读
- sql - Pandas 到 SQL 无法追加
- visual-studio - 当我构建我的分支时,AppCenter 向我显示一个错误(xamarin forms proj)
- r - 从其他所有列中减去 df 中的每个列
- django - Django 和 Nginx - 无效的 HTTP_HOST 标头
- c++ - 头文件中带有 enable_if 的模板的特化
- javascript - bootstrap.js 干扰单选按钮 D3 选择
- ios - 无法查看 Firebase Analytics 调试查看 React Native
- css - 如何自定义处于不确定状态的复选框的样式?
- java - 为什么在我的活动的 onCreate 中实例化工具栏时会出现问题?
- android - 仅在 XML 元素/路径而不是完整文件中搜索?