如何修改输入框文本?温度转换器C转F输出NaN问题求助
温度转换器显示NaN问题解决方法
你的代码存在三个关键问题,导致输出结果为NaN:
- 获取输入框元素后,没有取它的
value属性,直接对DOM元素调用parseFloat()会得到NaN - 代码中使用了中文引号
“”,JavaScript仅支持英文引号""或'' - 点击事件的回调函数缺少闭合的
}),会引发语法错误
修正后的完整代码:
let convert = document.getElementById("convert") convert.addEventListener("click", function(){ let cel = document.getElementById("cel") let newTemp = convertCtoF(parseFloat(cel.value)); document.getElementById("fah").value = newTemp; })
额外优化建议:
- 确保
convertCtoF函数实现了正确的转换公式:华氏度 = 摄氏度 × 9/5 + 32 - 可以增加空值/无效输入判断,避免NaN出现:
let convert = document.getElementById("convert") convert.addEventListener("click", function(){ let cel = document.getElementById("cel") let celValue = parseFloat(cel.value); if (!isNaN(celValue)) { let newTemp = convertCtoF(celValue); document.getElementById("fah").value = newTemp; } else { document.getElementById("fah").value = ""; // 或提示用户输入有效数字 } })
内容的提问来源于stack exchange,提问作者Fancyson
相关产品推荐
相关产品推荐

