2013-01-21 3 views
1

J'essaie de faire une simple calculatrice de masse et de centrage pour un avion. Les exigences sont simples, j'ai besoin d'entrer un poids et d'avoir un champ de moment mis à jour pour contenir le poids multiplié par le bras de moment connu. Fondamentalement, j'ai juste besoin de multiplier une entrée par une valeur connue et d'avoir ce produit imprimé dans un autre espace.Création d'une simple calculatrice qui manipule innerHTML en utilisant javascript

est inférieur à ce que je l'ai essayé jusqu'à présent, et il est censé fonctionner par:

  1. Passer la valeur du dialogue d'entrée en utilisant this.value sur un événement onchange

  2. Trouver la sortie élément uisng document.getElementById(outID)

  3. Définissez le texte de l'élément de sortie en utilisant outID.innerHTML = weight*arm

Cependant, rien ne se passe jamais.

<!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> 

Répondre

2

Change:

GetMoment(RearMoment,this.value,117) 

à cette forme:

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

chaque lieu qu'il se produit. Un identifiant est une chaîne.


Aussi, javascript: est assez vieille école - pas besoin. Il peut simplement être comme ceci:

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

devrait être 'ReadMoment' non "ReadMoment" puisque le guillemet est utilisé dans le HTML. – Kansha

+0

@Kansha - fixe. – jfriend00