当前位置: 首页 > 知识库问答 >
问题:

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

冯卓
2023-03-14

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

为了得到房间的面积,除天花板‘(墙的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个答案

融修平
2023-03-14

您得到了错误的输入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>
 类似资料:
  • 问题内容: 考虑这个SQL查询 该查询将仅在字段中返回一个值。 有没有一种方法可以在不使用a并指向返回数组的第一个值的情况下获取该值? 问题答案: 将允许您直接从结果集中提取值,而不必使用 提取 方法。这是一个非常简单的示例,说明如何使用它来获取单个值: 该函数有三个参数。第一个是结果集本身,第二个是行索引,第三个是字段索引。我只使用前两个参数,因为第三个参数默认为0,即返回第一个字段。

  • 我在同一列中有几个单元格,我想检查它们是否为空。 如果有空单元格,请添加以下文本。。。 如果没有空单元格,请忽略。。。 由于某种原因,我无法让它返回单元格的值。命令编辑器告诉我以下错误: 这是我的代码: 从昨天开始,我一直在检查代码,尝试其他方法,但我总是在.getValue()和.getValues方面遇到问题​() 最后,我来到这里,请求帮助,看看该领域的专家是否能启发我。 非常感谢你

  • 我想创建一个日历对象,并将其设置为某一年和该年中的一周。 当我将calendar对象传递给setWeekChecked方法时,这是它的toString: java.util.gregoriancalendar[time=?,arefieldsset=false,lenient=true,zone=America/New_York,firstDayofWeek=1,minimalDaysinfirs

  • 我想获得值召集器的结果,它在我的视图中过滤数组,以便显示找到的结果数。 我既不想将此逻辑移动到我的控制器(以保持其干净),也不想添加像从值控制器返回一些数据这样的拐杖。 因此,基本上我想要一些类似于角度报价的东西:如图所示:或者这里: 不幸的是,在奥雷利亚: 实际上是指

  • 问题内容: 在CSS中,任何图像路径都相对于CSS文件位置。 f.ex如果我放入CSS文件并使用类似 浏览器将查找有意义的图像。 是否可以在javascript中做同样的事情? F.ex如果我包括以下代码并将其放在其中: 找不到图片,因为浏览器使用HTML文件作为起点,而不是脚本位置。我希望能够像CSS一样使用脚本位置作为起点。 这可能吗? 问题答案: 按照上面的方法在DOM中搜索您自己的标记是可

  • 本文向大家介绍Redis获取某个大key值的脚本实例,包括了Redis获取某个大key值的脚本实例的使用技巧和注意事项,需要的朋友参考一下 1、前言 工作中,经常有些Redis实例使用不恰当,或者对业务预估不准确,或者key没有及时进行处理等等原因,导致某些KEY相当大。 那么大Key会带来哪些问题呢? 如果是集群模式下,无法做到负载均衡,导致请求倾斜到某个实例上,而这个实例的QPS会比较大,内存