| ポイント | 
				
					
						
fObj = document.myFORM;
for (i=0; i<3; i++) if (fObj[i].checked) n += eval(fObj[i].value);
for (i=3; i<7; i++) if (fObj[i].checked) n += eval(fObj[i].value);
fObj.result.value = n;
fObj.tax.value    = Math.round(n * 0.05);
fObj.total.value  = n + Math.round(n * 0.05);
					
				 | 
			
			
				| 説  明 | 
				ラジオボタン、チェックボックスは「document.フォーム名.エレメント名.checked」としてチェックされているか調べます。「if (document.フォーム名.エレメント名.checked)」のように==で値を調べていない場合は、値がfalseでない場合に以後に続く命令を実行します。読み出したフォームのデータは文字列型となっているため+記号で加算すると文字列として連結されてしまいます。これを一旦数値に変換するためにeval()、parseInt()、parseFloat()などを使います。また「fObj = document.calcForm」としてフォームオブジェクトを代入しておくことで「document.caclForm.elements[0].value」または「document.caclForm[0].value」とすべき部分を「fObj.elements[0].value」または「fObj[0].value」として短く記述することができます。 | 
			
			
				| サンプル | 
				
					
選択された部品に応じて価格の計算をする
					
				 | 
			
			
				| 補足説明 | 
				ポップアップメニューの場合はcheckedでなくselectedを使って選択されているかどうかを調べます。 | 
			
			
				 
				 | 
				
■サンプルスクリプトを実行する >>実行 
						
■各ブラウザでの動作結果を見る >>View! 
 |