创建一个使用javascript操作innerHTML的简单计算器

时间:2013-01-21 00:08:32

标签: javascript this getelementbyid

我正在尝试为飞机制作一个简单的重量和平衡计算器。要求很简单,我需要输入一个重量并更新一个力矩字段,以包含权重乘以已知的力矩臂。基本上,我只需要将输入乘以已知值,并将此产品打印到另一个空间。

以下是我到目前为止所尝试的内容,它应该起作用:

  1. this.value事件中使用onchange传递输入对话框的值

  2. 找到输出元素uisng document.getElementById(outID)

  3. 使用outID.innerHTML = weight*arm

  4. 设置输出元素文本

    然而,一切都没有发生。

    <!DOCTYPE html>
    
    <head>
        <script language="javascript" type="text/javascript">
            function GetMoment(outID,weight,arm){
                var outputObj = document.getElementById( outID );
                outputObj.innerHTML = weight*arm;
            }
        </script>
    
    </head>
    <html>
    <body>
    <div id="InputForm" style="width:600;float:left;">
    <table name="WeightAndBalance" border=4>
        <tr>
            <th>Front Seats</th>
            <th> <input id="FrontWeight" type="text" name="FrontWeight" onchange="javascript:GetMoment(FrontMoment,this.value,85.5)"> </th>
            <th>85.5 in</th>
            <th> <span id="FrontMoment" type="text" name="FrontMoment" style="width:50px">Front Seat Moment</span></th>
        </tr>
            <tr>
            <th>Rear Seats</th>
            <th> <input id="RearWeight" type="text" name="RearWeight" onchange="javascript:GetMoment(RearMoment,this.value,117)"> </th>
            <th>117 in</th>
            <th> <span id="RearMoment" type="text" name="RearMoment">Rear Seat Moment</span></th>
        </tr>
    </table>
    </div>
    </body>
    </html>
    

1 个答案:

答案 0 :(得分:2)

变化:

GetMoment(RearMoment,this.value,117)

到这种形式:

GetMoment('RearMoment',this.value,117)

它出现的每个地方。 id是一个字符串。


此外,javascript:已经很老了 - 不需要它。它可以是这样的:

<input id="RearWeight" type="text" name="RearWeight" onchange="GetMoment('RearMoment',this.value,117)">