提问者:小点点

获取面积值的脚本结果错误


我写了一个脚本来寻找房间的面积,但结果是不正确的。

为了得到房间的面积,除天花板‘(墙的W①*房间高度)*2+(墙的W②*房间高度)*2=总墙面积值我如上写成。楼面面积是勾选复选框时(墙面①的W*墙面②的W)+总墙面面积值=不包括天花板的房间面积值我写的这样就像上面一样出来了,结果值却一直出来不对。

如墙①的W为4,墙②的W为2,高度为3,则不含楼面面积和天花板面积的面积,答案为36。但它被提取为28。自然,即使你算上楼面面积价值,价值也是不一样的。

我还在研究剧本,我不知道哪里出了问题,因为我不是很清楚。救命..!

※因为不会说英语,所以使用了翻译器。这就是为什么我的话可能不自然。请理解。

null

function btnResult() {
    var MyWidth = eval(document.getElementById("Value01").value);
    var MyLength = eval(document.getElementById("Value02").value);
    var MyHeight = eval(document.getElementById("Value03").value);
 
    if (!MyWidth) {
        alert("Pelase, Check.");
        document.getElementById("Value01").focus();
        return false;
    } else if (!MyHeight) {
        alert("Pelase, Check.");
        document.getElementById("Value02").focus();
        return false;
    } else if (!MyLength) {
        alert("Pelase, Check.");
        document.getElementById("Value03").focus();
        return false;
    } else {
 
        var data01 = (MyWidth * MyHeight) * 2;
        var data02 = (MyLength * MyHeight) * 2;
        var data03 = MyWidth * MyLength;
 
        var TotalResult = data01 + data02;
 
        var addGCheck = $('.add_Ground').is(':checked');
 
        if (addGCheck) {
            TotalResult = data01 + data02 + data03;
        }
        document.getElementById("resultA").innerHTML = Number(TotalResult.toFixed(1));
    }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<div id="Box">
    <div class="Inner">
        <div class="List">
            <span class="Title">W</span>
            <input type="text" id="Value01" class="ValueBox">
            <span class="Unit">m</span>
        </div>
        <div class="List">
            <span class="Title">L</span>
            <input type="text" id="Value03" class="ValueBox">
            <span class="Unit">m</span>
        </div>
        <div class="List">
            <span class="Title">H</span>
            <input type="text" id="Value02" class="ValueBox">
            <span class="Unit">m</span>
        </div>
         
        <span class="addCheck"><input type="checkbox" class="add_Ground" name="addGround">Add Ground</span>
          
        <div class="Btn">
            <input type="button" id="btnSum" class="btnSum" value="value" onclick="btnResult()">
        </div>
 
        <div class="ValueCont">
            <span class="ValueTitle">Total Value</span>
            <p id="resultA" class="resultValue"></p>
            <span class="ValueUnit">m<sup>2</sup></span>
        </div>
    </div>
</div>

null


共1个答案

匿名用户

您得到了错误的输入id,您在选择器中颠倒了输入L和输入H。我修改了你的剪辑来完成它。当您想要跟踪/调试函数时,我建议您使用console.log()您的数据。

null

function btnResult() {

    var MyWidth = eval(document.getElementById("Value01").value);
    var MyLength = eval(document.getElementById("Value02").value);
    var MyHeight = eval(document.getElementById("Value03").value);
  console.log(MyWidth,MyLength,MyHeight);
    if (!MyWidth) {
        alert("Pelase, Check.");
        document.getElementById("Value01").focus();
        return false;
    } else if (!MyHeight) {
        alert("Pelase, Check.");
        document.getElementById("Value02").focus();
        return false;
    } else if (!MyLength) {
        alert("Pelase, Check.");
        document.getElementById("Value03").focus();
        return false;
    } else {
 
        var data01 = (MyWidth * MyHeight) * 2;
        var data02 = (MyLength * MyHeight) * 2;
        var data03 = MyWidth * MyLength;

        var TotalResult = data01 + data02;
 
        var addGCheck = $('.add_Ground').is(':checked');
 
        if (addGCheck) {
            TotalResult = data01 + data02 + data03;
        }
        document.getElementById("resultA").innerHTML = Number(TotalResult.toFixed(1));
    }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<div id="Box">
    <div class="Inner">
        <div class="List">
            <span class="Title">W</span>
            <input type="text" id="Value01"  class="ValueBox">
            <span class="Unit">m</span>
        </div>
        <div class="List">
            <span class="Title">L</span>
            <input type="text" id="Value02"  class="ValueBox">
            <span class="Unit">m</span>
        </div>
        <div class="List">
            <span class="Title">H</span>
            <input type="text" id="Value03"  class="ValueBox">
            <span class="Unit">m</span>
        </div>
         
        <span class="addCheck"><input type="checkbox" class="add_Ground" name="addGround">Add Ground</span>
          
        <div class="Btn">
            <input type="button" id="btnSum" class="btnSum" value="value" onclick="btnResult()">
        </div>
 
        <div class="ValueCont">
            <span class="ValueTitle">Total Value</span>
            <p id="resultA" class="resultValue"></p>
            <span class="ValueUnit">m<sup>2</sup></span>
        </div>
    </div>
</div>