2011-12-17 13 views
9

ユーザーがデータを入力するための3つのテキストフィールドと1つのドロップダウンメニューからフォームを作成しました。HTMLフォームデータをJavascript関数に渡す

ユーザーが入力したデータに対して計算を実行し、結果を表示する必要があります。

今のところ、結果を関数に渡して結果を出力したいだけです。そこから、これらの出力を表に表示する方法を説明します。

今、特定の要素の値を特定できません。ドロップダウンメニューでは、私はdocument.getElementById("activity_level").valueと書いて、選択した値を特定することができます。関数を実行すると、残りの値は表示されません。私は値の型を特定していないと仮定しているので、ブラウザーはその表示内容を知っています。ここで

は私のHTMLです:ここでは

<form> 
     Activity Level: <select id="activity_level"> 
         <option value="null">Please Choose One...</option> 
         <option value="1.25">Practically a Vegetable</option> 
         <option value="1.35">Mostly Desk Work and Light Walking</option> 
         <option value="1.55">Moderate Exercise 2-3 Times Per Week</option> 
         <option value="1.75">Heavy Exercise 3-4 Times Per Week</option> 
         <option value="1.95">Committed Hardcore Athlete</option> 
         </select></br> 
     BodyFat Percentage <input type="text" id="bfp" /> </br> 
     Total Weight <input type="text" id="tw" /></br> 
     Target Bodyfat Percentage <input type="text" id="target_bodyfat_pct" /></br> 
     <input type="button" value="Calculate" onclick="Calculate()" /> 
    </form> 

は私のjavascriptです:

<script type="text/javascript"> 

    function Calculate(){ 
     //document.write(bfp + "</br>"); 
     document.write(document.getElementById("activity_level").value + "</br>"); 
     //document.write(document.getElementById("tw") + "</br>"); 
     //document.write(document.getElementById("target_bodyfat_pct")); 
    } 

    </script> 

答えて

8

あなたはあなたの選択

document.write(document.getElementById("target_bodyfat_pct")); 
document.write(document.getElementById("tw") + "</br>"); 
でやったように、あなたの入力に valueプロパティを参照する必要があります

document.write(document.getElementById("target_bodyfat_pct").value); 
document.write(document.getElementById("tw").value + "</br>"); 

また、すべての出力に対してdivを作成し、そこに書き込むことを検討してください。

<div id="yourOutputDiv"></div> 

var results = document.getElementById("activity_level").value + "</br>" + 
       document.getElementById("target_bodyfat_pct").value + 
       document.getElementById("tw").value + "</br>"; 

document.getElementById("yourOutputDiv").innerHTML = results; 
+0

ありがとうございます。私はdiv要素のあなたの提案を必ず追加します。私は実際に私の所見を掲載するためにここに戻ってくる前にそれを理解してしまった。 –