Javascript 如何避免简单表单中的NaN错误?

Javascript 如何避免简单表单中的NaN错误?,javascript,html,Javascript,Html,我有一个简单的形式,它必须返回一个数的平方根。但我有一个错误。如您所见,变量“number”是数字类型。我做错了什么 let number=parseInt(document.getElementById('value'); 函数myFunction(){ 警报(数学sqrt(数字)); } 平方数 在此处插入编号: 这是因为document.getElementById()返回元素本身,而不是值。您需要获取输入的值才能将其解析为整数 将代码更改为parseInt(document.get

我有一个简单的形式,它必须返回一个数的平方根。但我有一个错误。如您所见,变量“number”是数字类型。我做错了什么

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
。首先要访问元素并尝试将其设置为数字。其次,您只执行一次,因此您更改了不会拾取的值。