我有一个带有两个文本框的表单。我想在一个框中输入一个数字,按转换链接,然后让它计算第一个框中的数字到摄氏度,并将其放在第二个文本框中。到目前为止,它没有工作,我觉得有一些小我不知道......我该怎么办?
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
body
{
background-color: white;
}
h2
{
position: absolute;
left:200px;
top:5px;
color: cadetblue;
}
p
{
text-align: center;
font-family: times new roman;
color: black;
}
</style>
<script>
function f2cCalc(input)
{
var fbox = document.getElementById(input);
var cbox = document.getElementById(cinput);
var f = parseInt(fbox.value);
var cel = Math.round(5/9*(f-32));
document.getElementById(cbox).value=cel;
}
</script>
</head>
<body>
<form method="get" action="">
<h2>Temp calculator</h2>
<br />
<br />
<br/>
<br/>
<br/>
F<input id="finput" type="number" STYLE="background-color: cadetblue; color: green;" value="0"/>
C<input id="cinput" type="number" STYLE="background-color: cadetblue; color: green;" value="0"/>
<a href="javascript:f2cCalc(finput)">Convert</a>
</form>
</body>
</html>
enter code here
答案 0 :(得分:0)
这两行可能会导致您的问题:
var fbox = document.getElementById(input);
var cbox = document.getElementById(cinput);
更改为:
var fbox = document.getElementById(input);
var cbox = document.getElementById('cinput');
基本上JavaScript试图从变量而不是DOM加载id。
答案 1 :(得分:0)
你的代码中有拼写错误。下面提到的三行是问题。
更改
var fbox = document.getElementById(input);
var cbox = document.getElementById(cinput);
document.getElementById(cbox).value=cel;
到
var fbox = document.getElementById('finput');
var cbox = document.getElementById('cinput');
cbox.value=cel;
的 DEMO FIDDLE 强>
答案 2 :(得分:0)
您只需要很少的修改
<a href="javascript:f2cCalc('finput')">Convert</a>
和
var cbox = document.getElementById('cinput');
选中此fiddle
答案 3 :(得分:0)
或者你可以从切片面包中获得最甜蜜的东西; jQuery的。将这个坏男孩插入你的头标:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
事实上,我有一个fiddle给你。 Jquery使事情变得更容易。希望这对你有用。
答案 4 :(得分:0)
你的函数调用应该是:
<a href="javascript:f2cCalc('finput')">Convert</a>