温度程序的简单转换

时间:2015-07-18 22:22:16

标签: javascript html5

我有一个转换温度的程序,但由于某种原因,我无法弄清楚为什么当我点击我的按钮时结果不会打印出来。任何帮助,将不胜感激。这是我的代码:

var report = function(celsius, fahrenheit) {
  document.getElementById("result").innerHTML = (celsius + "\xbOF="
    fahrenheit + "\xbOF");
};
document.getElementById("f_to_c").onclick = function() {
  var f = document.getElementById("temperature").value;
  report((f - 32) / 1.8, f);
};
document.getElementById("c_to_f").onclick = function() {
  var c = document.getElementById("temperature").value;
  report(c, 1.8 * c + 32);
};
<title>HW problem 3</title>
  <h1>Temperature Conversion</h1>
  <p>
    <input type="number" id="temperature" />
    <button id="f_to_c">F to C</button>
    <button id="c_to_f">C to F</button>

  </p>
  <p id="result"></p>

我为提出一个基本问题而道歉。我有另一个脚本,计算提示,它工作正常,所以我无法弄清楚这里有什么不起作用。感谢

1 个答案:

答案 0 :(得分:2)

除了report函数中缺少的加号外,您的度(°)符号的转义字符串需要大写才能正常工作(即\xB0代替\xb0 })。这是一个有效的例子:

var report = function(celsius, fahrenheit) {
  document.getElementById("result").innerHTML = (celsius + "\xB0C = " + fahrenheit + "\xB0F");
};
document.getElementById("f_to_c").onclick = function() {
  var f = document.getElementById("temperature").value;
  report((f - 32) / 1.8, f);
};
document.getElementById("c_to_f").onclick = function() {
  var c = document.getElementById("temperature").value;
  report(c, 1.8 * c + 32);
};
<title>HW problem 3</title>
  <h1>Temperature Conversion</h1>
  <p>
    <input type="number" id="temperature" />
    <button id="f_to_c">F to C</button>
    <button id="c_to_f">C to F</button>

  </p>
  <p id="result"></p>