簡體   English   中英

我為函數的返回值得到一個空字符串

[英]I am getting a empty string for my function's return value

當我嘗試在另一個函數中使用函數的返回值時,我得到一個空字符串。 我將函數值聲明為變量,所以我不確定為什么我會這樣做。

 const fnCalIn = calIn(); const fnCalOut = calOut(); //to get the value in the calIn input field and turn it into a number then print to page function calIn() { var calIn = document.getElementById("calIn").value; var clCalIn = Number(calIn); document.getElementById("demo-1").innerHTML = clCalIn; return clCalIn; }; //to get the value in the calOut input field and turn it into a number then print to page function calOut() { var calOut = document.getElementById("calOut").value; var clCalOut = Number(calOut); document.getElementById("demo-2").innerHTML = calOut; return calOut; }; // Where I want to get the difference of the calOut and calIn values and print that to the page function calDt() { var clCalDt = fnCalOut - fnCalIn; document.getElementById("calDt").innerHTML = clCalDt; } 
 <h1 class="current">Today</h1> <div> <h3>Calories in </h3> <input id="calIn"> <button onclick="calIn()">Get value</button> <p id="demo-1"></p> </div> <div> <h3>Calories Out </h3> <input id="calOut"> <button onclick="calOut()">Get value</button> <p id="demo-2"></p> </div> <div> <h3>Deficit </h3> <div> <p id="calDt"></p> <button onclick="calDt()">Get value</button> </div> </div> 

我一直得到0當我將HTML更改為clCalDt時,我應該得到一些值,這取決於我在輸入字段中輸入的內容但我什么也得不到。 當我嘗試記錄值時,我得到一個空字符串“”。

您只在開始時調用函數(fnCalIn和fnCalOut)一次,然后它們的值保持靜態,並且頁面中的任何更改都不會影響它們。 嘗試改變

var clCalDt = fnCalOut - fnCalIn;

至:

var clCalDt = calOut() - calIn();

為了重新計算值。

幾個問題。 你回來了返回calOut; 並且不返回clCalOut,並且在計算中需要調用函數。 可能要檢查以確保輸入實際上是某個地方的數字。

 //to get the value in the calIn input field and turn it into a number then print to page function calIn() { var calIn = document.getElementById("calIn").value; var clCalIn = Number(calIn); document.getElementById("demo-1").innerHTML = clCalIn; return clCalIn; }; //to get the value in the calOut input field and turn it into a number then print to page function calOut() { var calOut = document.getElementById("calOut").value; var clCalOut = Number(calOut); document.getElementById("demo-2").innerHTML = calOut; return clCalOut; }; // Where I want to get the difference of the calOut and calIn values and print that to the page function calDt() { var clCalDt = calOut() - calIn(); document.getElementById("calDt").innerHTML = clCalDt; } 
 <h1 class="current">Today</h1> <div> <h3>Calories in </h3> <input id="calIn"> <button onclick="calIn()">Get value</button> <p id="demo-1"></p> </div> <div> <h3>Calories Out </h3> <input id="calOut"> <button onclick="calOut()">Get value</button> <p id="demo-2"></p> </div> <div> <h3>Deficit </h3> <div> <p id="calDt"></p> <button onclick="calDt()">Get value</button> </div> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM