我对 Javascript 比较陌生,并且在更改值时遇到了一些麻烦。
这是我的Javascript:
function printResults(results, numMeals){
calories=Math.round(results);
protein= Math.round(results/4*.4);
carbs=Math.round(results/4*.3);
fats=Math.round(results/9*.3);
document.getElementById("calories").innerHTML="Total Calories: " + ('<input type="text" id= "totalCal">');
document.getElementById("totalCal").value=calories;
document.getElementById("protein").innerHTML="Grams of Protein: " + ('<input type="text" id="totalProtein">');
document.getElementById("totalProtein").value=protein;
document.getElementById("carbs").innerHTML="Grams of Carbs: " + ('<input type="text" id="totalCarbs">');
document.getElementById("totalCarbs").value=carbs;
document.getElementById("fats").innerHTML="Grams of Fat: " + ('<input type="text" id="totalFats">');
document.getElementById("totalFats").value=fats;
calories= Number(document.getElementById("totalCal").value);
protein= Number(document.getElementById("totalProtein").value);
carbs= Number(document.getElementById("totalCarbs").value);
fats= Number(document.getElementById("totalFats").value);
document.getElementById("search").innerHTML= ('<a class="btn" href="search/'+calories+'/'+protein+'/'+carbs+'/'+fats+'/'+numMeals+'">Find Meals</a><br>');}
它会编辑这些 html 输入字段:
<div class="span2" style="text-align:left">
<span id="calories"> Total Calories: -</span><br>
<span id="protein"> Protein: -</span><br>
<span id="carbs"> Carbs: -</span><br>
<span id="fats"> Fats: -</span><br>
<span id="search"></span><br>
</div>
这适用于设置初始值,但是,当我手动编辑文本字段的值时,它不会在提交时更改值。例如,如果根据计算将原始卡路里设置为 2000,然后我将文本字段编辑为 2500,我的搜索仍会产生 2000 的值。