【问题标题】:html output based on two other output基于其他两个输出的 html 输出
【发布时间】:2023-01-12 17:24:30
【问题描述】:

强度将由 (=g) 和土壤类型决定。

我当前的代码:

<label>
                    SPT Blow Count:
                </label>
                <br>
                <input type="text" id="spt1" name="spt" min="0" placeholder="a" required=""/>
                
                <input type="text" id="spt2" name="spt" min="0" placeholder="b" required=""/>
                
                <input onblur="findTotal()" type="text" id="spt3" name="spt" min="0" placeholder="c" required=""/>
                
                <input onblur="findTotal()" type="text" id="spt4" name="spt" min="0" placeholder="d" required=""/>
                
                <input onblur="findTotal()" type="text" id="spt5" name="spt" min="0" placeholder="e" required=""/>
                
                <input onblur="findTotal()" type="text" id="spt6" name="spt" min="0" placeholder="f" required=""/>
                <br>
                =
                <br>
                <input type="text" id="nvalue" name="nvalue" min="0" max="50 "placeholder="g" required=""/>
                <br>
            
            <script type="text/javascript">
                function findTotal(){
                    var arr = document.getElementsByName('spt');
                    var tot=0;
                    for(var i=2;i<arr.length;i++){
                        if(parseInt(arr[i].value))
                            tot += parseInt(arr[i].value);
                    }
                    document.getElementById('nvalue').value = tot;
                }
            </script>

<p id="soil_strength"></p>
                    <input type="text" id="" name="" placeholder="Strength"/>
                    <select name="soil_type" id="soil_type">
                        <option value="" disabled selected hidden>Type</option>
                        <option value="">CLAY</option>
                        <option value="">SILT</option>
                        <option value="">SAND</option>
                        <option value="">GRAVEL</option>
                    </select>

土壤类型: 粘土/淤泥 - 粘性

砂砾 - 非粘性

期望的结果示例:

如果土壤类型为粘性且 g >=30,则强度将显示为 HARD 如果土壤类型为非粘性且 g >=50,则强度将非常密实

【问题讨论】:

  • 我不确定我明白你的问题是什么。您发布的代码有什么问题?你得到什么样的错误?

标签: html select output


【解决方案1】:

在您的findTotal 函数中,您正在遍历一个从索引 2 开始的数组。问题是在您的示例代码中,您只有两个名称为“spt”的元素。这意味着数组长度为 2。因此您将跳过数组的所有元素。

您需要将初始化变量 (i) 设置为零,因为当前您是在数组末尾开始循环。

修复方法是:

for(var i=0;i<arr.length;i++){

在此处阅读有关 JavaScript 中 for 循环的更多信息(特别是了解 for 循环中的每个表达式的作用):https://www.w3schools.com/js/js_loop_for.asp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-09
    • 1970-01-01
    • 2012-06-03
    • 2021-09-15
    • 2019-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多