Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript a<;输入>;每次我按下按钮 1.问题_Javascript - Fatal编程技术网

Javascript a<;输入>;每次我按下按钮 1.问题

Javascript a<;输入>;每次我按下按钮 1.问题,javascript,Javascript,大家好 每次我按下一个按钮,它必须在输入框中找到的值上加1 问题是,每次我按下按钮而不是向值添加+1时,它会像字符串一样连接值 单击按钮5次后的预期结果: 5 实际发生的情况: 11111 2.代码 请帮助:(尝试: // the javascript document .getElementById("add-one") .addEventListener("click", function () { let el = documen

大家好

每次我按下一个按钮,它必须在输入框中找到的值上加1

问题是,每次我按下按钮而不是向值添加+1时,它会像字符串一样连接值

单击按钮5次后的预期结果:

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
    
  });