计算在文本框中输入的值并放置在另一个文本框中
Compute value entered in textbox and place in another textbox?
我有一个带有两个文本框的表单。我想在一个框中输入一个数字,按"转换"链接,然后让它将第一个框中的数字计算为摄氏度并将其放在第二个文本框中。到目前为止,它不起作用,我觉得我缺少一些小东西......我能做什么?
<!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
这两行可能会导致您的问题:
var fbox = document.getElementById(input);
var cbox = document.getElementById(cinput);
更改为:
var fbox = document.getElementById(input);
var cbox = document.getElementById('cinput');
基本上JavaScript试图从变量而不是DOM加载id。
你的代码中有拼写错误。贝尔沃提到三条线是问题所在。
改变
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;
演示小提琴
你需要很少的修改
<a href="javascript:f2cCalc('finput')">Convert</a>
和
var cbox = document.getElementById('cinput');
检查这个小提琴
你的函数调用应该是这样的:
<a href="javascript:f2cCalc('finput')">Convert</a>
为什么不直接挂接到输入的"keyup"事件?首先,将脚本和函数定义放在输入下方,在body
内。然后,将输入选择器设置为全局。
<input id="finput" type="number" />
<input id="cinput" type="number" />
<script type="text/javascript">
// I run once, _after_ the inputs are DOM ready.
const FBOX = document.getElementById('finput')
const CBOX = document.getElementById('cinput')
FBOX.addEventListener('keyup', (e) => {
let value = CBOX.value
try {
value = f2cCalc(parseInt(e.target.value))
}
CBOX.value = value
})
</script>
相关文章:
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- 如何将键入的文本从一个输入类型的文本复制到另一个
- 使用javascript将两个文本框值相加到表中的另一个文本框中
- 在文本上方标记另一个文本
- jQuery将文本从span标记复制到另一个span标记
- 从id标记中的文本进行检查,并将类添加到另一个标记中
- 它在另一个函数中嵌套后不会输出文本
- 如何通过 JS 将内容从一个表单中的一个文本框复制到另一个表单中的另一个文本框
- 使用Javascript从一个文本区域逐行解析.subsr(0,6)到另一个文本区
- 用户在文本框中输入一个数字,并根据使用 PHP 输入的数字重定向到另一个网页
- 如何使用jquery对具有相同类的文本框的值求和并将其放入另一个文本框中
- 使用 jquery 将行值设置为另一个文本
- 从一个文本框执行代码,并在另一个文本框中以 HTML 显示输出
- 内容可编辑-根据类型从一个跨度到另一个跨度克隆文本
- 使用php使用href链接将输入的文本框值传递到另一个页面
- 当文档准备就绪时,将数据从一个文本框复制到另一个
- jQuery-如何使var文本可点击,该文本放置在由更多元素组成的另一个var中(var,checkbox)
- 如何在MVC3剃刀中将文本框值复制到另一个文本框中
- 更改一个文本框的值,与另一个具有比例的文本框值进行比较