Javascript 如何避免简单表单中的NaN错误?
我有一个简单的形式,它必须返回一个数的平方根。但我有一个错误。如您所见,变量“number”是数字类型。我做错了什么Javascript 如何避免简单表单中的NaN错误?,javascript,html,Javascript,Html,我有一个简单的形式,它必须返回一个数的平方根。但我有一个错误。如您所见,变量“number”是数字类型。我做错了什么 let number=parseInt(document.getElementById('value'); 函数myFunction(){ 警报(数学sqrt(数字)); } 平方数 在此处插入编号: 这是因为document.getElementById()返回元素本身,而不是值。您需要获取输入的值才能将其解析为整数 将代码更改为parseInt(document.get
let number=parseInt(document.getElementById('value');
函数myFunction(){
警报(数学sqrt(数字));
}
平方数
在此处插入编号:
这是因为document.getElementById()返回元素本身,而不是值。您需要获取输入的值才能将其解析为整数
将代码更改为parseInt(document.getElementById('value').value)代码>这是因为document.getElementById()
返回元素本身,而不是值。您需要获取输入的值才能将其解析为整数
将代码更改为parseInt(document.getElementById('value').value)
首先,document.getElementById()
返回HTML元素。您必须通过执行document.getElementById().value
来访问value
属性。其次,number
变量将始终等于NaN
,因为该行代码是首先执行的,并且永远不会更改
let value=document.getElementById('value')。值//计算为“”
设number=parseInt(值);//对楠的评价
//调用函数时,不会重新计算number变量
函数(){
警报(数学sqrt(数字));
}
您必须将该行代码移动到函数中,以便在调用函数时而不是在代码执行开始时确定number
的值
函数myFunction(){
const number=parseInt(document.getElementById('value').value)
如果(isNaN(编号)){
警报('请输入一个数字')
返回
}
警报(数学sqrt(数字))
}
平方数
在此处插入编号:
首先,document.getElementById()
返回一个HTML元素。您必须通过执行document.getElementById().value
来访问value
属性。其次,number
变量将始终等于NaN
,因为该行代码是首先执行的,并且永远不会更改
let value=document.getElementById('value')。值//计算为“”
设number=parseInt(值);//对楠的评价
//调用函数时,不会重新计算number变量
函数(){
警报(数学sqrt(数字));
}
您必须将该行代码移动到函数中,以便在调用函数时而不是在代码执行开始时确定number
的值
函数myFunction(){
const number=parseInt(document.getElementById('value').value)
如果(isNaN(编号)){
警报('请输入一个数字')
返回
}
警报(数学sqrt(数字))
}
平方数
在此处插入编号:
必须在函数调用中获取元素值,否则将得到NaN(不是数字),如下所示:
function myFunction() {
let number = parseInt(document.getElementById('value').value);
if(number !== "" && number != undefined && number != null && !isNaN(number)){
alert(Math.sqrt(number));
}else{
alert("Please enter valid number");
}
}
您还可以检查未定义的、null和空字符串值。您必须在函数调用中获取元素值,否则将得到NaN(不是数字),如下所示:
function myFunction() {
let number = parseInt(document.getElementById('value').value);
if(number !== "" && number != undefined && number != null && !isNaN(number)){
alert(Math.sqrt(number));
}else{
alert("Please enter valid number");
}
}
您还可以检查未定义的、null和空字符串值。您需要获取输入值。您在HTML元素上使用的是parseInt…而不是它的值您试图解析整个元素。只需使用document.getElementById('value').value
。首先要访问元素并尝试将其设置为数字。第二,你只做了一次,所以你改变了它不会被拾取的值。你需要得到输入的值。您在HTML元素上使用的是parseInt…而不是它的值您试图解析整个元素。只需使用document.getElementById('value').value
。首先要访问元素并尝试将其设置为数字。其次,您只执行一次,因此您更改了不会拾取的值。