2011-12-17 27 views
9

Utworzono formularz z jednym rozwijanym menu do wyboru oraz trzema innymi polami tekstowymi do wprowadzania danych przez użytkowników.Przekazywanie danych formularzy HTML do funkcji JavaScript

Muszę wykonać obliczenia danych wprowadzonych przez użytkownika, a następnie wyświetlić wyniki.

Na razie chcę tylko móc przekazać wyniki do funkcji i wydrukować wyniki. Stamtąd wymyślę, jak wyświetlić te wyjścia w tabeli.

W tej chwili mam problem z identyfikacją wartości konkretnego elementu. Za pomocą rozwijanego menu mogę zidentyfikować wybraną wartość, pisząc document.getElementById("activity_level").value. Pozostałe wartości nie pojawią się po uruchomieniu funkcji. Zakładam, że nie identyfikuję typu wartości, więc przeglądarka wie, co to jest wyświetlacz.

Tu jest mój 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> 

Oto mój 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> 

Odpowiedz

8

Trzeba odwołać właściwość value na swoich wejściach, tak jak to zrobiłeś z Twojego wybierz

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

powinien być

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

Należy również rozważyć utworzenie elementu div dla wszystkich danych wyjściowych i zapisanie go w tym miejscu.

<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

Dzięki Adam. Na pewno dodam Twoją sugestię dla elementu div. Właśnie skończyłem się zastanawiać, zanim wróciłem tutaj, żeby opublikować moje wyniki. –

Powiązane problemy