Javascript 变量显示 NaN
Javascript variable displaying NaN
有人可以告诉我如何让我的最终变量显示为数字(我的函数变量的值)而不是 NaN 吗?
<form id="computeroi">
<fieldset>
<div class="col-1 pblue"> <p class="float-left"> 1. How many monthly visitors does your website get per month? </p> <input type="number" value="0" id="monthlyvisitors" class="width-50" onchange="computeroi()"> </div>
<div class="col-1 pblue"> <p class="float-left"> 2. How many of those visitors are from a mobile device? </p> <input type="number" value="0" id="mobilevisitors" class="width-50" onchange="computeroi()"> </div>
<div class="col-1 pblue"> <p class="float-left"> 3. What is your average deal worth ? </p> <input type="number" value="0" id="dealworth" class="width-50" onchange="computeroi()"> </div>
<div class="col-1 pblue"> <input type="submit" value="Submit" class="width-25" id="submit" width="25"> </div>
<div class="col-1 "> <h1 id="newdealw"> </h1> </div>
</fieldset>
</form>
function computeroi() {
var monthlyv = document.getElementById('monthlyvisitors').value;
var mobilet = document.getElementById('mobilevisitors').value;
var dealw = document.getElementById('dealworth').value;
var newdeals = (mobilevisitors / monthlyvisitors);
var newdealw = (newdeals * dealworth);
document.getElementById('newdealw').innerHTML = newdealw;
}
mobilevisitors
、monthlyvisitors
、dealworth
未在您的方法中的任何位置声明或定义。
而是将 ids monthlyvisitors
,mobilevisitors
,dealworth
的值赋给 monthlyv
,mobilet
,dealw
var monthlyv = document.getElementById('monthlyvisitors').value;
var mobilet = document.getElementById('mobilevisitors').value;
var dealw = document.getElementById('dealworth').value;
像这样尝试
var monthlyv = document.getElementById('monthlyvisitors').value;
var mobilet = document.getElementById('mobilevisitors').value;
var dealw = document.getElementById('dealworth').value;
var newdeals = ( +mobilet / +monthlyv );
var newdealw = (newdeals * +dealw );
N:b: +
变量前的符号将其视为数字。
var monthlyv = document.getElementById('monthlyvisitors').value;
var mobilet = document.getElementById('mobilevisitors').value;
var dealw = document.getElementById('dealworth').value;
var newdeals = (mobilevisitors / monthlyvisitors);
var newdealw = (newdeals * dealworth);
您的代码中没有 mobilevisitors
,monthlyvisitors
个变量。
为了安全起见,在进行数学运算之前也相应地使用parseInt()
或parseFloat()
。
您的代码中没有 mobilevisitors 、monthlyvisitors 变量。
只需像这样更改最后两行:
var newdeals = (mobilet / monthlyv);
var newdealw = (newdeals * dealw);
您尚未声明变量 mobilevisitors 或这个 monthlyvisitors 因此您无法获取值。您应该使用变量 monthlyv 和 mobilet 来获取这两个东西的值(mobilevisitors 和 monthlyvisitors)
有人可以告诉我如何让我的最终变量显示为数字(我的函数变量的值)而不是 NaN 吗?
<form id="computeroi">
<fieldset>
<div class="col-1 pblue"> <p class="float-left"> 1. How many monthly visitors does your website get per month? </p> <input type="number" value="0" id="monthlyvisitors" class="width-50" onchange="computeroi()"> </div>
<div class="col-1 pblue"> <p class="float-left"> 2. How many of those visitors are from a mobile device? </p> <input type="number" value="0" id="mobilevisitors" class="width-50" onchange="computeroi()"> </div>
<div class="col-1 pblue"> <p class="float-left"> 3. What is your average deal worth ? </p> <input type="number" value="0" id="dealworth" class="width-50" onchange="computeroi()"> </div>
<div class="col-1 pblue"> <input type="submit" value="Submit" class="width-25" id="submit" width="25"> </div>
<div class="col-1 "> <h1 id="newdealw"> </h1> </div>
</fieldset>
</form>
function computeroi() {
var monthlyv = document.getElementById('monthlyvisitors').value;
var mobilet = document.getElementById('mobilevisitors').value;
var dealw = document.getElementById('dealworth').value;
var newdeals = (mobilevisitors / monthlyvisitors);
var newdealw = (newdeals * dealworth);
document.getElementById('newdealw').innerHTML = newdealw;
}
mobilevisitors
、monthlyvisitors
、dealworth
未在您的方法中的任何位置声明或定义。
而是将 ids monthlyvisitors
,mobilevisitors
,dealworth
的值赋给 monthlyv
,mobilet
,dealw
var monthlyv = document.getElementById('monthlyvisitors').value;
var mobilet = document.getElementById('mobilevisitors').value;
var dealw = document.getElementById('dealworth').value;
像这样尝试
var monthlyv = document.getElementById('monthlyvisitors').value;
var mobilet = document.getElementById('mobilevisitors').value;
var dealw = document.getElementById('dealworth').value;
var newdeals = ( +mobilet / +monthlyv );
var newdealw = (newdeals * +dealw );
N:b: +
变量前的符号将其视为数字。
var monthlyv = document.getElementById('monthlyvisitors').value;
var mobilet = document.getElementById('mobilevisitors').value;
var dealw = document.getElementById('dealworth').value;
var newdeals = (mobilevisitors / monthlyvisitors);
var newdealw = (newdeals * dealworth);
您的代码中没有 mobilevisitors
,monthlyvisitors
个变量。
为了安全起见,在进行数学运算之前也相应地使用parseInt()
或parseFloat()
。
您的代码中没有 mobilevisitors 、monthlyvisitors 变量。 只需像这样更改最后两行:
var newdeals = (mobilet / monthlyv);
var newdealw = (newdeals * dealw);
您尚未声明变量 mobilevisitors 或这个 monthlyvisitors 因此您无法获取值。您应该使用变量 monthlyv 和 mobilet 来获取这两个东西的值(mobilevisitors 和 monthlyvisitors)