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;
}