Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中使用函数转换温度时,如何消除NaN错误?_Javascript_Html - Fatal编程技术网

在JavaScript中使用函数转换温度时,如何消除NaN错误?

在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

我一直在尝试制作一个JS华氏温度到摄氏温度的转换器,出于某种原因,每当我输入一个数字并通过该函数时,它就会吐出一个
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




Try
ftoc(Number(fvalue))
您正在尝试使用元素引用进行计算。现在,在编辑之后,在脚本执行时,考虑您正在阅读的值,例如:<代码> fvalue 。阅读事件处理程序中的值,然后它们是最新的。在发布问题并添加缺少的代码后,您编辑了代码,因此它修复了许多问题-我将您的新代码放入代码段,您可以看到它正在工作。如果您有特定错误,请编辑问题以告诉我们,这样我们就不会再修复不存在的错误了。是的,FluffyKitte,我很抱歉,我是StackOverflow新手,这是我的第一个问题,所以我仍然习惯于它的工作方式尝试
ftoc(Number(fvalue))
您正在尝试使用元素引用进行计算。现在,在编辑之后,在脚本执行时,考虑您正在阅读的值,例如:<代码> fvalue 。阅读事件处理程序中的值,然后它们是最新的。在发布问题并添加缺少的代码后,您编辑了代码,因此它修复了许多问题-我将您的新代码放入代码段,您可以看到它正在工作。如果您有特定错误,请编辑问题以告诉我们,这样我们就不会再修复不存在的错误了。是的,FluffyKitte,我很抱歉,我是StackOverflow的新手,这是我的第一个问题,所以我仍在习惯它的工作方式OP更改了他们的问题并添加了那些缺少的
.value
s-这也吸引了我,当我看到这一点时,我正准备发布一个同样的答案。所以我检查了他们的新代码,现在已经没有问题了@当然。谢谢,但是我已经纠正了其他错误。只是让你知道,这样你就可以编辑你答案的那一部分:)OP更改了他们的问题,并添加了那些缺少的
。value
s-这也吸引了我,当我看到这一点时,我正要发布一个同样的答案。所以我检查了他们的新代码,现在已经没有问题了@当然。谢谢,但我已经纠正了其他错误。请告诉您,以便您可以编辑答案的这一部分:)