javascript - 切换时未显示消息
问题描述
我试图在我的代码中显示错误消息,但它不起作用,我尝试使用style.display
and .visbility。
两者都给我这个错误 index.js:16 Uncaught TypeError: Assignment to constant variable。在 HTMLButtonElement.refresh (index.js:16)
我究竟做错了什么?
const mailBtn = document.querySelector('.email-btn');
const mailInput = document.querySelector('.email-input').value;
const mailBox = document.querySelector('.email-input');
let errMsg = document.querySelector('.red');
const refresh = () => {
if(mailInput.length < 5) {
mailBox.classList.add('error')
mailInput = `Can't be blank`;
errMsg.visibility = 'visible';
} else {
location.reload();
}
}
mailBtn.addEventListener('click', refresh);
解决方案
您收到错误是因为.value
返回一个字符串,该字符串按值复制而不是按引用返回,因此更改它是不好的。而是使用对元素的引用:
mailBox.value = "Can't be blank";
代替
mailInput = `Can't be blank`;
让我知道这是否有效
推荐阅读
- java - 一次循环遍历哈希集和数组列表
- amazon-web-services - Terraform:将一组复杂对象映射到特定属性的列表
- node.js - 猫鼬聚合查询具有两个不同的键和按日期的第一个元素
- reactjs - useRef 没有改变 React 中的元素样式
- bash - 脚本不能与 ` 一起使用,但可以在单个命令中使用
- python - 为什么我的回归模型将损失和指标设为 0?
- azure - 如何删除被我不拥有的域锁定的 Front Door 资源
- docker - listener.security.protocol.map 中定义的安全协议“PLAINTEXT”无效
- python-3.x - 当所有特定 4 列的值在 pandas 中均为 NaN 时删除行
- typescript - 使用 CRACO 在 CRA (Typescript) 中添加 comlink-loader 支持