0

これは myFunctions コードですが、機能しません。実際、その初心者コードは、私ができることを自分で教えることができるためです。すべての変数は関数の前に宣言されています

元のコードは編集されています。

私が持っているテーブルからのすべてのチューブのサイズと重量が入力されるまで、それは続きます.ifステートメントが1つある場合にのみ機能します。私が求めているのは、何が悪いのかだと思います。これを行う簡単な方法はありますか。私は坑井のケーシングのような別のもののためのより多くのテーブルを持っています.

これはうまくいきません

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

最後の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)
            }
        }
    </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>

また、現在、Firefox でデバッガーを取得する作業も行っています。何か提案はありますか?

4

1 に答える 1

0

あなたはいくつかの間違いを犯しています。こちらをご覧ください

// 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 が機能しています。おそらく、他の IF でも frm.tubingSize.value を使用する必要があります。

于 2013-04-07T01:53:11.003 に答える