当我试图在另一个函数中使用我的函数的返回值时,我得到了一个空字符串。我将函数值声明为变量,所以我不确定为什么要这样做。
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>
当我把超文本标记语言改为clCalDt时,我总是得到一个0,我应该得到一些值,这取决于我在输入字段中输入的内容,但我什么也得不到。当我尝试记录这些值时,我得到一个空字符串"“。
发布于 2019-07-09 02:50:38
一开始只调用一次函数(fnCalIn和fnCalOut),然后它们的值保持不变,页面中的任何更改都不会影响它们。试着改变
var clCalDt = fnCalOut - fnCalIn;
至:
var clCalDt = calOut() - calIn();
以便重新计算这些值。
发布于 2019-07-09 03:02:14
有几个问题。您返回的是return calOut;,而不是clCalOut,并且在计算中需要调用函数。可能需要检查一下,以确保entry实际上是一个数字。
//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>
https://stackoverflow.com/questions/56940918
复制相似问题