Javascript a<;输入>;每次我按下按钮 1.问题
大家好 每次我按下一个按钮,它必须在输入框中找到的值上加1 问题是,每次我按下按钮而不是向值添加+1时,它会像字符串一样连接值 单击按钮5次后的预期结果:Javascript a<;输入>;每次我按下按钮 1.问题,javascript,Javascript,大家好 每次我按下一个按钮,它必须在输入框中找到的值上加1 问题是,每次我按下按钮而不是向值添加+1时,它会像字符串一样连接值 单击按钮5次后的预期结果: 5 实际发生的情况: 11111 2.代码 请帮助:(尝试: // the javascript document .getElementById("add-one") .addEventListener("click", function () { let el = documen
5
实际发生的情况:
11111
2.代码
请帮助:(尝试:
// the javascript
document
.getElementById("add-one")
.addEventListener("click", function () {
let el = document.getElementById("output-box");
// let v = parseInt(el.value) // wrong
// per comments @PaulRooney, instead when parsing empty string returns Nan
// so instead use:
let v = parseInt(el.value) || 0
el.value = v + 1
});
通过这种方式,您可以在添加1之前将原始值解析为int。一个
输入。value
将始终返回一个字符串。因此,为了减去该值,您需要首先将其转换为一个数字:
const setup=()=>{
文件
.getElementById(“添加一个”)
.addEventListener(“单击”,()=>{
const outputBox=document.getElementById(“输出框”);
outputBox.value=+outputBox.value+1;
});
};
window.addEventListener('load',setup);
+
您的代码有两个问题。首先,您一直在传递“1”,而没有递增。第二个问题是因为您使用的是加法赋值运算符(++=)
,这是在添加您按顺序传递的值,因为
是字符串类型。因此,请尝试此代码。这应该可以解决此问题
//javascript
设i=1;
文件
.getElementById(“添加一个”)
.addEventListener(“单击”),函数(){
document.getElementById(“输出框”).value=i++;
});
它像字符串一样连接值
,因为.value
是字符串:
// the javascript
document
.getElementById("add-one")
.addEventListener("click", function () {
document.getElementById("output-box").value += parseInt(1);
});
// the javascript
document
.getElementById("add-one")
.addEventListener("click", function () {
let el = document.getElementById("output-box");
// let v = parseInt(el.value) // wrong
// per comments @PaulRooney, instead when parsing empty string returns Nan
// so instead use:
let v = parseInt(el.value) || 0
el.value = v + 1
});