javascript - 为什么表单值从控制台日志中消失?
问题描述
在下面的代码中,我试图console.log
在单击按钮时输入表单输入值。但是,单击按钮后,该值只会在消失之前暂时记录下来。为什么会发生这种情况以及如何解决?
document.querySelector("button").addEventListener("click",function(){
const listItem = document.querySelector("input").value;
console.log(listItem);
});
<body>
<form action="">
<input type="text">
<button class ="btn btn-lg btn-primary" type="submit"> ADD </button>
</form>
</body>
解决方案
提交表单时,浏览器向服务器发送请求并刷新页面。要禁用此行为,您可以event.preventDefault()
在单击按钮时使用
document.querySelector("button").addEventListener("click",function(event){
event.preventDefault();
const listItem = document.querySelector("input").value;
console.log(listItem);
});
<body>
<form action="">
<input type="text">
<button class ="btn btn-lg btn-primary" type="submit"> ADD </button>
</form>
</body>
推荐阅读
- r - 在 sp 图的不同面板中绘制轮廓
- beagleboneblack - 使用 GPIO3_13 (GPIO109) 禁用 USB VBUS
- c# - 调用更新属性的静态对象方法时文本框不更新
- javascript - 如何在新选项卡中打开 PDF 文件而不使用 ASP.NET MVC 5 保存此文件?
- typeorm - 使用 TypeOrm 未找到“用户”的元数据
- ruby-on-rails - Rails 复选框格式
- javascript - 使用node.js从串口实时获取数据
- python - 使用“python -m venv myvenv”创建的虚拟环境中的 ipython/jupyter 配置文件在哪里?
- db2 - DB2 过程调用文字错误
- amazon-web-services - 面临将 EFS 卷附加到 Kubernetes pod 的问题