1

これが私のコードです:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>The Raptor Astronomer</title>
        <script>
          function getQuantity()
{
    var theForm = document.forms["formula"];
    var radiusform = theForm.elements["radius"];
    var radius =0;
    if(radiusform.value!="")
    {
        radius = parseInt(radiusform.value);
          var circumference = radius * 2 * Math.PI;
    }
theForm.elements["circumference"].value = var circumference;
}
getQuantity();

    </script>
    </head>
    <body>
        <form id="formula">
            <label>Radius</label>
            <input id="radius" name="radius" type="text" />
            <label>Circumference</label>
            <input id="circumference" name="circumference" type="text"/>
        </form>

    </body>
</html>

チュートリアルからわかる限り、私のコードは円周になるように更新する必要がありますが、それが起こるのは見ていません。

これが正しく実行されないのはなぜですか? トリガーを含めていませんか?トリガーが必要ですか?

4

2 に答える 2

0

削除var:-

theForm.elements["circumference"].value = circumference;

また、前に宣言しますif

var circumference=0
if(radiusform.value!="")
    {
        radius = parseInt(radiusform.value);
        circumference = radius * 2 * Math.PI;
    }
于 2012-09-02T00:53:39.713 に答える
0

いくつかのマイナーな変更を加えました。jsFiddleの例を参照してください。スクリプトの呼び出しを radius 入力要素の onchange イベントに関連付けました。また、割り当ての一部として var を使用できないため、適切な位置に移動しました。

JavaScript

function getQuantity() {
    var theForm = document.forms["formula"];
    var radiusform = theForm.elements["radius"];
    var radius = 0;
    var circumference;
    if (radiusform.value != "") {
        radius = parseInt(radiusform.value);
        circumference = radius * 2 * Math.PI;
    }
    theForm.elements["circumference"].value = circumference;
}

<strong>HTML

 <form id="formula">
            <label>Radius</label>
            <input id="radius" name="radius" type="text" onChange="getQuantity()"/>
            <label>Circumference</label>
            <input id="circumference" name="circumference" type="text"/>
        </form>​
于 2012-09-02T00:57:59.363 に答える