Javascript html格式的JS和onchange事件
我的代码错误很明显,但我看不出来。Javascript html格式的JS和onchange事件,javascript,forms,scripting,textbox,onchange,Javascript,Forms,Scripting,Textbox,Onchange,我的代码错误很明显,但我看不出来。 我的表格非常简单,要求身高和体重和计算体重指数用户输入身高(米)并转换为英寸(功能正常) 输入千克并转换为磅(也可以),但在此过程中,必须计算索引并将其写入另一个文本框。那是我的问题! 我做错了什么???这是我的密码: 函数myFunctionmts(){ var x=document.getElementById(“mters”); var y=document.getElementById(“英寸”); y、 值=((x.value*100)/2.
我的表格非常简单,要求
身高
和体重
和计算体重指数
用户输入身高(米)并转换为英寸(功能正常)
输入千克并转换为磅(也可以),但在此过程中,必须计算索引并将其写入另一个文本框。那是我的问题!
我做错了什么???这是我的密码:
函数myFunctionmts(){
var x=document.getElementById(“mters”);
var y=document.getElementById(“英寸”);
y、 值=((x.value*100)/2.54.toFixed(2);
document.getElementById(“mters”).value=x.value;
document.getElementById(“英寸”).value=y.value;
}
函数myFunctionkg(){
var i=document.getElementById(“imc”);
var p=document.getElementById(“英寸”);
var x=document.getElementById(“千克”);
var z=document.getElementById(“磅”);
var step1=0;
var step2=0;
var step3=0;
z、 值=(x.value/.454).toFixed(2);
天秤座价值=z价值;
document.getElementById(“磅”).value=z.value;
步骤1.value=z.value*703;
step2.value=step1.value/p.value;
步骤3.value=(步骤2.value/p.value).toFixed(1);
document.getElementById(“imc”).value=step3.value
}
尝试使用以下代码:
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Stack Overflow</title>
<link
rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
/>
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<!-- Popper JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<form method="POST" action="#">
<label for="mters">meter</label>
<input
type="text"
name="mters"
id="mters"
required
onchange="myFunctionmts()"
/>
<label for="inches">inches</label>
<input
type="text"
name="inches"
id="inches"
placeholder="Inches"
readonly
/>
<label for="kilos">kilos</label>
<input
type="text"
name="kilos"
id="kilos"
required
onchange="myFunctionkg()"
/>
<label for="pounds">pounds</label>
<input
type="text"
name="pounds"
id="pounds"
placeholder="Pounds"
readonly
/>
<label for="imc">imc</label>
<input type="text" name="imc" id="imc" readonly />
<input type="submit" value="Save" />
</form>
<script src="script.js"></script>
</body>
</html>
希望能有帮助。您有打字错误。将所有
step1.value
,step2.value
和step3.value
更改为仅step1
,step2
和step3
。这些只是变量而不是dom元素。。。。谢谢工作出色!!你教我我错过的细节我很高兴能帮上忙。
function myFunctionmts() {
var x = document.getElementById('mters');
var y = document.getElementById('inches');
y.value = ((x.value * 100) / 2.54).toFixed(2);
document.getElementById('mters').value = x.value;
document.getElementById('inches').value = y.value;
}
function myFunctionkg() {
var imc = document.getElementById('imc'); // mass index
var inches = document.getElementById('inches'); //
var kilos = document.getElementById('kilos');
var pounds = document.getElementById('pounds'); // pounds
var step1 = 0;
var step2 = 0;
var step3 = 0;
pounds.value = (+kilos.value / 0.454).toFixed(2);
// undefined error here, what is this libras all about ???
// libras.value = z.value;
step1 = +pounds.value * 703;
step2 = +step1 / +inches.value;
step3 = (+step2 / +inches.value).toFixed(1);
console.log(step3);
imc.value = step3;
}