javascript - 将输入从 HTML 保存到函数 Javascript 之外的变量
问题描述
我对 Javascript 很陌生,我有一个非常简单的程序,它从 HTML 输入中获取值,然后它应该重新分配变量 car。但是,第二个 x2 似乎无法识别该值,只有 x1。我已经阅读了一些文章,一些程序员不建议使用全局变量,如果不需要的话。我也想在函数外访问我的变量提前谢谢你回答这个愚蠢的简单代码。
var car;
function save_car() {
car = document.getElementById("car-text").value;
document.getElementById("x1").innerHTML = "Your car is" + car;
}
save_car();
document.getElementById("x2").innerHTML = "Your car is " + car;
<input id="car-text" type="text">
<button onclick="save_car()">Save</button>
<p id="x1"></p>
<p id="x2"></p>
解决方案
主要问题是您在保存功能之外设置了“x2”。
我在下面的代码中做了一些其他的注释/评论。
// var car; <-- you didn't need this global variable
function save_car() {
let car = document.getElementById("car-text").value;
let innerString = "Your car is " + car; // <-- we're going to reuse this, so store in variable
document.getElementById("x1").innerHTML = innerString;
document.getElementById("x2").innerHTML = innerString; //moved inside save_car() function
}
// save_car(); <-- you don't need this either
<input id="car-text" type="text">
<button onclick="save_car()">Save</button>
<p id="x1"></p>
<p id="x2"></p>
推荐阅读
- javascript - 更改页面 Spring Boot 应用程序
- javascript - 使用 Javascript 有没有办法将信息推送到键/值对之外的数组中?
- reactjs - 无法让 Cypress 测试与 Okta 一起在 React 中工作
- powershell - Microsoft GraphAPI PowerShell 下载附件
- android - 使用 Parse 和 back4app 推送通知 Android | 使用 GCM 发件人 ID 发出问题
- mysql - 计算 2 个子查询然后按日期分组 - mysql
- javascript - 服务工作者:使用 IndexedDB 缓存 POST 请求 - 安全问题
- excel - Excel中水平文本数组的模式
- ipfs - IPFS 中的可变文件系统与常规文件 API
- flutter - Flutter,Facebook Audience Network 广告横幅在进入另一个屏幕时不显示