关于长度转换器的问题

时间:2017-04-23 20:08:56

标签: javascript html function

我必须做这个作为一个分配: http://i.imgur.com/ch761kR.png[/img]

这是代码(Shoutout梦想上限,帮助我大量)



    function pvc(val){
      var input = document.getElementById("value").value;
      var result = document.getElementById("result");

      if (val == 'inch') {  
        result.innerHTML = input / 0.39370;
      } else if (val == 'cm') { 
        result.innerHTML = input * 0.39370;
      } else if (val == 'celc') {   
        result.innerHTML = * 9 / 5 + 32
      } else if (val == 'fahr') {   
        result.innerHTML = (farenheit – 32) * 5 / 9 
      }
    }

    Valeur:<input type="text" id="value" name="valeur" value="0" > <p id="result">Resultat ici</p>
    <button type="button" id="inchToCm" onclick="pvc('inch')">Pouces vers cm</button>
    <button type="button" id="cmtoInch" onclick="pvc('cm')">CM vers pouces</button>
    <button type="button"id="celciusToFarenheit" onclick="pvc('celc')">Celcius vers
    Farenheit</button>
        <button type="button" id="farenheitToCelcius" onclick="pvc('fahr')">Farenheit vers Celcius</button>
&#13;
&#13;
&#13;

当我用网页上的任何数字测试它时,它只返回任何内容,我猜测返回结果有问题。

2 个答案:

答案 0 :(得分:1)

这是修复版本。你有几个问题:

  • farenheit不是有效变量。改为输入。
  • -也是不正确的unicode。 (这是一个很长的冲刺,并抛出一个例外)。
  • *行上有一个迷路result.innerHTML = * 9 / 5 + 32。我假设您想要将输入乘以9 / 5 + 32

function pvc(val) {
  var input = document.getElementById("value").value;
  var result = document.getElementById("result");

  if (val == 'inch') {
    result.innerHTML = input / 0.39370;
  } else if (val == 'cm') {
    result.innerHTML = input * 0.39370;
  } else if (val == 'celc') {
    result.innerHTML = input * 9 / 5 + 32;
  } else if (val == 'fahr') {
    result.innerHTML = (input - 32) * 5 / 9;
  }
}
Valeur:<input type="text" id="value" name="valeur" value="0">
<p id="result">Resultat ici</p>
<button type="button" id="inchToCm" onclick="pvc('inch')">Pouces vers cm</button>
<button type="button" id="cmtoInch" onclick="pvc('cm')">CM vers pouces</button>
<button type="button" id="celciusToFarenheit" onclick="pvc('celc')">Celcius vers
    Farenheit</button>
<button type="button" id="farenheitToCelcius" onclick="pvc('fahr')">Farenheit vers Celcius</button>

答案 1 :(得分:1)

问题来自代码中的语法错误,首先是这一行:

result.innerHTML = * 9 / 5 +32

你可能想把input放在它之前,它变成了:

result.innerHTML = input * 9 / 5 +32

其次这一行:

result.innerHTML = (farenheit – 32) * 5 / 9 

这一行是错误的,原因有两个:首先,操作符应该是破折号(-)而不是那些(我认为它是一个下划线_但它不是,我不知道它是什么:))。

其次farenheit变量未定义,因此您将获得参考错误,可能的修复方法是使用input代替。

对于未来:您可以打开浏览器的开发者工具,如果您在浏览器的控制台中看到了某些错误,您也可以使用浏览器“s”调试器功能来调试这样的问题。

最后但并非最不重要的是,您甚至可以在通过某种类型的静态类型检查程序执行脚本之前防止出现这类错误。 (例如flow)或者&#34; linter&#34; (例如eslint,jslint,jshint)。