Javascript 在NaN中添加数字结果
Javascript 在NaN中添加数字结果,javascript,html,nan,Javascript,Html,Nan,函数myFunction(val){ const ele=document.querySelectorAll('input'); 设和=0; ele.forEach(输入=>{ sum+=input.value?parseFloat(input.value):0; }); document.getElementById('result').textContent=sum.toFixed(2); } 因为document.querySelectorAll('input')选择包括提交按钮在内
函数myFunction(val){
const ele=document.querySelectorAll('input');
设和=0;
ele.forEach(输入=>{
sum+=input.value?parseFloat(input.value):0;
});
document.getElementById('result').textContent=sum.toFixed(2);
}
因为document.querySelectorAll('input')代码>选择包括提交按钮在内的所有输入,该按钮具有值='submit'和值submit
不是数字(NAN)。从“提交”按钮中删除“值”属性时,它不会返回任何内容 因为document.querySelectorAll('input')代码>选择包括提交按钮在内的所有输入,该按钮具有值='submit'和值submit
不是数字(NAN)。从“提交”按钮中删除“值”属性时,它不会返回任何内容 因为您选择的是所有的输入标记,所以您应该具体选择像querySelectorAll('input[type=“text”]”)
。因此,它将只选择文本输入标记。试试这个
函数myFunction(val){
const ele=document.querySelectorAll('input[type=“text”]”);
设和=0;
ele.forEach(输入=>{
sum+=input.value?parseFloat(input.value):0;
});
document.getElementById('result').textContent=sum.toFixed(2);
}
因为您选择的是所有的输入标记,所以您应该具体选择像querySelectorAll('input[type=“text”]”)这样的标记。
。因此,它将只选择文本输入标记。试试这个
函数myFunction(val){
const ele=document.querySelectorAll('input[type=“text”]”);
设和=0;
ele.forEach(输入=>{
sum+=input.value?parseFloat(input.value):0;
});
document.getElementById('result').textContent=sum.toFixed(2);
}
您的
将迭代所有输入,包括
如果不使用value=“Submit”
,则该元素没有实际的.value
,因此默认为空字符串:
console.log(submit.value);
console.log(submit.value.length)代码>
您的
将迭代所有输入,包括
如果不使用value=“Submit”
,则该元素没有实际的.value
,因此默认为空字符串:
console.log(submit.value);
console.log(submit.value.length)代码>
因为您选择的是所有的输入标记,所以您应该具体选择像querySelectorAll('input[type=“text”]”)这样的标记。因此,它将只选择文本输入标记。试试这个@Jt Tan,cool很乐意帮助您,如果它对您有用的话,请接受:)使用document.queryselectoral('input:not([type=submit]))
因为您选择的是所有输入标记,所以您应该具体选择像queryselectoral('input[type=“text”])。因此,它将只选择文本输入标记。试试这个@Jt Tan,cool很乐意帮助您接受,如果它对您有用:)使用document.queryselectoral('input:not([type=submit]))
const ele = document.querySelectorAll('input');