Javascript 为什么在函数中记录textarea值时它总是空的?
在文档中呈现textarea值后,我尝试使用JavaScript获取该值,我使用:Javascript 为什么在函数中记录textarea值时它总是空的?,javascript,html,dom,textarea,Javascript,Html,Dom,Textarea,在文档中呈现textarea值后,我尝试使用JavaScript获取该值,我使用: let input = document.getElementById("input").value; let btn = document.getElementById("btn"); btn.addEventListener("click", () => { console.log(input); }; 但它会在控制台中不断显示空字符串
let input = document.getElementById("input").value;
let btn = document.getElementById("btn");
btn.addEventListener("click", () => {
console.log(input);
};
但它会在控制台中不断显示空字符串。您需要使用preventDefault方法来解决按钮事件的此问题,就像某些控件默认行为阻止事件逻辑的执行一样。请参阅下面的解决方案。希望它能起作用
let input = document.getElementById("input").value;
let btn = document.getElementById("btn");
btn.addEventListener("click", (event) => {
event.preventDefault();
console.log(input);
})
下次也请添加您的HTML 也就是说,在代码中,当页面加载时,输入值只读取一次。如果要读取并显示更新的输入值,则必须在每次按下按钮时读取该值。下面是一个简单的例子:
让btn=document.getElementById(“btn”);
btn.addEventListener(“单击”,()=>{
让输入=document.getElementById(“输入”).value;
控制台日志(输入);
});代码>
启动时只需按我一次,即可读取.value
<代码>输入
之后不会更新。您需要将这一行放入单击处理程序…这仍然会在页面加载时的输入中显示默认值,而不是单击按钮时的值<代码>预防默认值
不会完全改变任何东西。我错过了那一行。谢谢你的更新。