JavaScript noob随if语句丢失

JavaScript noob随if语句丢失,javascript,Javascript,这是myFunctions代码,但不起作用。实际上,这是一个初学者代码,因为我可以边走边自学。所有变量都在函数之前声明 原始编码已被编辑掉 它一直运行,直到我从一个表中填写了所有管道尺寸和重量。只有当我有一个if语句时,它才起作用。我想问的是它有什么问题。还有更简单的方法吗。我有更多的表格用于不同的事情,比如井筒的套管 这行不通 <head> <title>Well Service Prevention</title> <script&g

这是myFunctions代码,但不起作用。实际上,这是一个初学者代码,因为我可以边走边自学。所有变量都在函数之前声明

原始编码已被编辑掉

它一直运行,直到我从一个表中填写了所有管道尺寸和重量。只有当我有一个if语句时,它才起作用。我想问的是它有什么问题。还有更简单的方法吗。我有更多的表格用于不同的事情,比如井筒的套管

这行不通

<head>
    <title>Well Service Prevention</title>
    <script>
        var tubingSize;
        var tubingWeight;
        var tubingDisplacement;
        var tubingCapacity;
        function tubingTables(frm){
            if (frm.tubingSize.value == 50.8){
                tubingSize = 50.8
                tubingWeight = 5.06
                tubingDisplacement = 0.00065
                tubingCapacity = 0.001413
                alert("Tubing ID: " + tubingSize)
            }
            if (frm.tubingSize.value == 52.4){
                tubingSize = 52.4
                tubingWeight = 4.84
                tubingDisplacement = 0.000622
                tubingCapacity = 0.001554
                alert("Tubing ID: " + tubingSize)
            }
            if (frm.tubingSize.value == 60.3 && frm.tubingWeight.value == 5.95){
                tubingSize = 60.3
                tubingWeight = 5.95
                tubingDisplacement = 0.000765
                tubingCapacity = 0.00211
                alert("Tubing ID: " + tubingSize "Tubing Weight:" + tubingWeight)
            }
        }
    </script>

</head>
<body>
    <form name=known>
        <h3>
            Enter Known
        </h3>
        <p>Tubing ID: <input type="number" name="tubingSize">
        <p>Tubing Weight: <input type="number" name="tubingWeight">
        <p>Tubing Displacement: <input type="number" name="tubingDisplacement">
        <p>Tubing Capacity: <input type="number" name="tubingCapacity">
        <input type="button" value="Debug" onclick="tubingTables(this.form)">
    </form>
</body>

油井服务预防
var tubingSize;
var管重;
var-Tubing位移;
var管道容量;
功能管道表(frm){
如果(frm.tubingSize.value==50.8){
管道尺寸=50.8
油管重量=5.06
油管位移=0.00065
管道容量=0.001413
警报(“油管ID:+油管尺寸”)
}
如果(frm.tubingSize.value==52.4){
管道尺寸=52.4
油管重量=4.84
油管排量=0.000622
管道容量=0.001554
警报(“油管ID:+油管尺寸”)
}
如果(frm.tubingSize.value==60.3&&frm.tubingWeight.value==5.95){
管道尺寸=60.3
油管重量=5.95
油管排量=0.000765
管道容量=0.00211
警报(“油管ID:+油管尺寸”油管重量:+油管重量)
}
}
输入已知
管道ID:
油管重量:
油管位移:
管道容量:
如果最后一条语句有效,请删除它

<head>
    <title>Well Service Prevention</title>
    <script>
        var tubingSize;
        var tubingWeight;
        var tubingDisplacement;
        var tubingCapacity;
        function tubingTables(frm){
            if (frm.tubingSize.value == 50.8){
                tubingSize = 50.8
                tubingWeight = 5.06
                tubingDisplacement = 0.00065
                tubingCapacity = 0.001413
                alert("Tubing ID: " + tubingSize)
            }
            if (frm.tubingSize.value == 52.4){
                tubingSize = 52.4
                tubingWeight = 4.84
                tubingDisplacement = 0.000622
                tubingCapacity = 0.001554
                alert("Tubing ID: " + tubingSize)
            }
        }
    </script>

</head>
<body>
    <form name=known>
        <h3>
            Enter Known
        </h3>
        <p>Tubing ID: <input type="number" name="tubingSize">
        <p>Tubing Weight: <input type="number" name="tubingWeight">
        <p>Tubing Displacement: <input type="number" name="tubingDisplacement">
        <p>Tubing Capacity: <input type="number" name="tubingCapacity">
        <input type="button" value="Debug" onclick="tubingTables(this.form)">
    </form>
</body>

油井服务预防
var tubingSize;
var管重;
var-Tubing位移;
var管道容量;
功能管道表(frm){
如果(frm.tubingSize.value==50.8){
管道尺寸=50.8
油管重量=5.06
油管位移=0.00065
管道容量=0.001413
警报(“油管ID:+油管尺寸”)
}
如果(frm.tubingSize.value==52.4){
管道尺寸=52.4
油管重量=4.84
油管排量=0.000622
管道容量=0.001554
警报(“油管ID:+油管尺寸”)
}
}
输入已知
管道ID:
油管重量:
油管位移:
管道容量:

现在还在firefox中开发调试器。有什么建议吗?

你犯了一些错误。来看看

// frm seems to be a Javascript Object
// tubingSize is a property of frm and seems to be an object too since you are accessing value property of it.
if (frm.tubingSize.value == 52.4){
      tubingSize = 52.4
      tubingWeight = 4.84
      tubingDisplacement = 0.000622
      tubingCapacity = 0.001554
      alert("Tubing ID: " + tubingSize) //debug
}

// Since frm.tubingSize is an object. Either you should do .value here or correct your code in above if.
if (frm.tubingSize == 60.3 && frm.tubingWeight == 5.95){
      tubingSize = 60.3
      tubingWeight = 5.95
      tubingDisplacement = 0.000765
      tubingCapacity = 0.00211
      alert("Tubing ID: " + tubingSize "Tubing Weight:" + tubingWeight)
}

这就是为什么你唯一的一个IF在工作。您可能也应该在其他IFs中使用frm.tubingSize.value。

您的第一个
if
语句使用
frm.tubingSize.value
其他所有语句都不…您好。“它只适用于1个if语句”是什么意思?你能详细说明这个问题吗?学习使用浏览器的调试工具。这将是你做过的最好的编程步骤。即使在if条件中增加了.value,我也无法使其工作。第一个if语句是自己工作的,只要我加上第二个if语句和&&它们都不起作用。你也可能会成为浮点数之间比较并不总是相等的事实的牺牲品。但在我们能够帮助您之前,我们必须获得更多关于哪些有效,哪些无效的信息。