2013-01-21 63 views
1

我正在尝试为飞机制作简单的重量和平衡计算器。这些要求很简单,我需要输入一个重量并更新时刻字段以包含乘以已知时刻臂的重量。基本上,我只需要将输入乘以已知的值,并将此产品打印到另一个空间中。创建一个简单的计算器,使用javascript操作innerHTML

下面是我到目前为止已经试过,并且它应该由工作:

  1. onchange事件

  2. 找到输出传递使用this.value输入对话的价值元素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> 

回答

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)"> 
+0

应该是'ReadMoment'no“ReadMoment”,因为在HTML中使用了双引号。 – Kansha

+0

@Kansha - 固定。 – jfriend00