JavaScript实现USD转EUR功能:点击按钮无法显示转换结果求助
USD转EUR按钮点击后无结果的问题修复
你的代码里有两个核心错误,都是对input元素的属性使用逻辑搞错了:
获取输入值的方式错误
input元素的用户输入内容存在value属性中,不是innerHTML。你用document.getElementById("EX").innerHTML根本拿不到用户输入的USD金额,必须改成document.getElementById("EX").value。设置结果的方式错误
用来显示结果的input元素,同样需要通过value属性赋值,而不是innerHTML——input是自闭合标签,不存在内部HTML内容,所以innerHTML赋值完全无效,得换成document.getElementById("sum").value。
另外建议加个数值转换处理,因为input的value是字符串类型,直接相乘可能出现非预期结果(比如输入非数字内容时),用parseFloat()把输入转成浮点数更稳妥。
修正后的完整代码
JavaScript部分
function usdtoeu() { // 获取输入值并转成浮点数 let usdAmount = parseFloat(document.getElementById("EX").value); const exchangeRate = 0.92; // 给结果输入框赋值 document.getElementById("sum").value = usdAmount * exchangeRate; }
HTML部分
<h1>Time to convert Usd to Euro</h1> <p id="demo"></p> <form name="mathe"> Enter USD: <input type="text" id="EX" size="10" /> <p></p> <input type="button" value="Get the converted rate" onclick="usdtoeu()"> </br> </br> The rate is: <input type="text" id="sum" size="10" /> </form>
这样点击按钮后就能正常显示转换后的EUR金额了。
内容的提问来源于stack exchange,提问作者Tusk
相关产品推荐
相关产品推荐

