在JavaScript中使用函数转换温度时,如何消除NaN错误?
我一直在尝试制作一个JS华氏温度到摄氏温度的转换器,出于某种原因,每当我输入一个数字并通过该函数时,它就会吐出一个在JavaScript中使用函数转换温度时,如何消除NaN错误?,javascript,html,Javascript,Html,我一直在尝试制作一个JS华氏温度到摄氏温度的转换器,出于某种原因,每当我输入一个数字并通过该函数时,它就会吐出一个NaN,温度应该在哪里 编辑:在“ftemp”和“ctemp”之后的“值”中添加 编辑:我删除了ftemp和ctemp中的值,而是尝试在函数本身中访问它们,就像两个人回答一样,现在可以正常工作了 功能ftoc(英尺){ c=英尺*(9/5)+32; 返回c; } 函数ctof(ct){ f=(c-32)/(9/5); 返回f; } button1=document.getEleme
NaN
,温度应该在哪里
编辑:在“ftemp”和“ctemp”之后的“值”中添加
编辑:我删除了ftemp和ctemp中的值,而是尝试在函数本身中访问它们,就像两个人回答一样,现在可以正常工作了
功能ftoc(英尺){
c=英尺*(9/5)+32;
返回c;
}
函数ctof(ct){
f=(c-32)/(9/5);
返回f;
}
button1=document.getElementById(“ftempsubmit”);
button2=document.getElementById(“ctempsubmit”);
fvalue=document.getElementById(“ftemp”).value;
cvalue=document.getElementById(“ctemp”).value;
fpopup=document.getElementById(“fpopup”);
cpopup=document.getElementById(“cpopup”);
button1.onclick=函数(){
cpopup.value=ftoc(fvalue);
};
button2.onclick=函数(){
fpopup.value=ctof(cvalue);
};代码>
提交F
萨姆比特C
您并没有发送输入的实际值,而是将HTML元素发送到您的函数,该函数将抛出NaN
我还将type=text
更改为type=number
,因为您将使用integer
仅用于转换
在函数ctof
中,您在ct
处获得参数,但您仅在进行计算时使用c
,这意味着它将抛出一个未定义的c
错误
现场演示:
功能ftoc(英尺){
var c=英尺*(9/5)+32;
返回c;
}
函数ctof(ct){
变量f=(ct-32)/(9/5);
返回f;
}
button1=document.getElementById(“ftempsubmit”);
button2=document.getElementById(“ctempsubmit”);
fvalue=document.getElementById(“ftemp”);
cvalue=document.getElementById(“ctemp”);
fpopup=document.getElementById(“fpopup”);
cpopup=document.getElementById(“cpopup”);
button1.onclick=函数(){
cpopup.value=ftoc(+fvalue.value);
};
button2.onclick=函数(){
fpopup.value=ctof(+cvalue.value);
};代码>
提交F
萨姆比特C
您并没有发送输入的实际值,而是将HTML元素发送到您的函数,该函数将抛出NaN
我还将type=text
更改为type=number
,因为您将使用integer
仅用于转换
在函数ctof
中,您在ct
处获得参数,但您仅在进行计算时使用c
,这意味着它将抛出一个未定义的c
错误
现场演示:
功能ftoc(英尺){
var c=英尺*(9/5)+32;
返回c;
}
函数ctof(ct){
变量f=(ct-32)/(9/5);
返回f;
}
button1=document.getElementById(“ftempsubmit”);
button2=document.getElementById(“ctempsubmit”);
fvalue=document.getElementById(“ftemp”);
cvalue=document.getElementById(“ctemp”);
fpopup=document.getElementById(“fpopup”);
cpopup=document.getElementById(“cpopup”);
button1.onclick=函数(){
cpopup.value=ftoc(+fvalue.value);
};
button2.onclick=函数(){
fpopup.value=ctof(+cvalue.value);
};代码>
提交F
萨姆比特C
Tryftoc(Number(fvalue))
您正在尝试使用元素引用进行计算。现在,在编辑之后,在脚本执行时,考虑您正在阅读的值,例如:<代码> fvalue 。阅读事件处理程序中的值,然后它们是最新的。在发布问题并添加缺少的代码后,您编辑了代码,因此它修复了许多问题-我将您的新代码放入代码段,您可以看到它正在工作。如果您有特定错误,请编辑问题以告诉我们,这样我们就不会再修复不存在的错误了。是的,FluffyKitte,我很抱歉,我是StackOverflow新手,这是我的第一个问题,所以我仍然习惯于它的工作方式尝试ftoc(Number(fvalue))
您正在尝试使用元素引用进行计算。现在,在编辑之后,在脚本执行时,考虑您正在阅读的值,例如:<代码> fvalue 。阅读事件处理程序中的值,然后它们是最新的。在发布问题并添加缺少的代码后,您编辑了代码,因此它修复了许多问题-我将您的新代码放入代码段,您可以看到它正在工作。如果您有特定错误,请编辑问题以告诉我们,这样我们就不会再修复不存在的错误了。是的,FluffyKitte,我很抱歉,我是StackOverflow的新手,这是我的第一个问题,所以我仍在习惯它的工作方式OP更改了他们的问题并添加了那些缺少的.value
s-这也吸引了我,当我看到这一点时,我正准备发布一个同样的答案。所以我检查了他们的新代码,现在已经没有问题了@当然。谢谢,但是我已经纠正了其他错误。只是让你知道,这样你就可以编辑你答案的那一部分:)OP更改了他们的问题,并添加了那些缺少的。value
s-这也吸引了我,当我看到这一点时,我正要发布一个同样的答案。所以我检查了他们的新代码,现在已经没有问题了@当然。谢谢,但我已经纠正了其他错误。请告诉您,以便您可以编辑答案的这一部分:)