【发布时间】:2019-04-16 09:15:39
【问题描述】:
尽管没有被链接(据我所知),当输入摄氏温度时,华氏公式将运行并实现到摄氏输出,正确的公式在华氏输出上输出,反之亦然输入华氏号码。
图片 我尝试了几个 if 语句,但它们似乎只适用于其中一个输出,而另一个输出根本没有值结果。
**HTML//Bootstrap**
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">C°</span>
<input type="number" class="form-control" id="cAmount" placeholder="Celsius">
</div>
</div>
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">F°</span>
<input type="number" class="form-control" id="fAmount" placeholder="Fahrenheit">
</div>
</div>
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">Celsius Temperature</span>
<input type="number" class="form-control" id="celsius-result" disabled>
</div>
</div>
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">Fahrenheit Temperature</span>
<input type="number" class="form-control" id="f-res" disabled>
</div>
</div>
**Javascript**
let formSubmit = document.querySelector('#tempCalculator')
formSubmit.addEventListener('submit', runEvent);
function runEvent(e) {
let celInput = document.querySelector('#cAmount');
let fahInput = document.querySelector('#fAmount');
let celResult = document.querySelector('#celsius-result')
let fahResult = document.querySelector('#f-res');
//input
let fahVal = parseFloat((celInput.value * 9/5) + 32);
let celVal = parseFloat((fahInput.value - 32) * 5/9);
//output
celResult.value = celVal.toFixed(2);
fahResult.value = fahVal.toFixed(2);
//stop form refreshing
e.preventDefault();
}
预期只是在相应的输出中出现一个正确的值,这确实发生了,但是在意外的输出中出现了一个不正确的值。
这是完整应用程序的 Codepen 链接:https://codepen.io/str-99/pen/NmwXJz
【问题讨论】:
-
我没有看到你的错误。输入摄氏数时,华氏公式将运行并执行到华氏温度输出而不是摄氏温度
-
我附上了一张图片,向您展示我的屏幕上显示的内容。
-
您在图像中的回报是真实的。
celInput = 10、fahVal = parseFloat((celInput.value * 9/5) + 32) = 50和Fahrenheit Temperature return 50。fahInput = 0、celVal = parseFloat((fahInput.value - 32) * 5/9) = -17,78和Celsius Temperature return -17,78。这里没有错误 -
所以即使我没有输入一个值,它仍然会将它注册为 0 吗?您建议解决此问题的最佳方法是什么?
-
我使用了 if 语句并解决了这个问题。感谢您为我强调这一点,这真的很有帮助。
标签: javascript html bootstrap-form-helper