javascript - 我无法解析 getElementsByClass 函数

标签 javascript html

我正在尝试做一个成绩计算器网站,但我似乎无法将输入从字符串转换为整数。这是我的代码:

 <form  name="myform" action="" method="GET">
    <div>
        <label for="cmps200">CMPS 200</label>
        <input type="number" name="three" class="threeCredits">
        <br>
    </div>

    <div>
        <label for="cmps211">CMPS 211</label>
        <input type="number" name="three" class="threeCredits">
        <br>
    </div>

    <div>
        <label for="cmps212">CMPS 212</label>
        <input type="number" name="three" class="threeCredits">
        <br>
    </div>

    <div>
        <input id="btn" type="button" name="btn" value="Submit" onclick="myF()">
    <p> </p>

    </div>
</form>
<小时/>
function myF() {
    var courses3 = document.getElementsByClassName("threeCredits");
    var sum = 0;

    for(var i = 0; i < courses3.length; i++) {
        sum += parseInt(courses3[i]);
    }

    if(sum===0 || sum<=0){
        alert("Please enter valid inputs!");
    } else {
        alert(sum/9);
    }
}

每次我按下提交按钮时,我都会得到 NaN。请帮忙!

最佳答案

您的courses3[i]是一个元素,而不是它的值。使用courses3[i].value .

也在你的 if 中条件<=实际上还检查第一个,即 === 。所以你可以删除它

function myF() {
    var courses3 = document.getElementsByClassName("threeCredits");
    var sum = 0;

    for(var i = 0; i < courses3.length; i++) {
        sum += parseInt(courses3[i].value);
    }

    if( sum <= 0 ){
        alert("Please enter valid inputs!");
    } else {
        alert(sum/9);
    }
}
<form  name="myform" action="" method="GET">
    <div>
        <label for="cmps200">CMPS 200</label>
        <input type="number" name="three" class="threeCredits">
        <br>
    </div>

    <div>
        <label for="cmps211">CMPS 211</label>
        <input type="number" name="three" class="threeCredits">
        <br>
    </div>

    <div>
        <label for="cmps212">CMPS 212</label>
        <input type="number" name="three" class="threeCredits">
        <br>
    </div>

    <div>
        <input id="btn" type="button" name="btn" value="Submit" onclick="myF()">
    <p> </p>

    </div>
</form>

关于javascript - 我无法解析 getElementsByClass 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41869582/

相关文章:

javascript - 隐藏/显示剑道网格​​滚动条

javascript - 自动缓存新补丁

c# - 删除或转换 ' 为 (')

javascript - 使用 Deferreds/Promises 的 JS 测试框架

javascript - 如何在 CasperJS 中使用 jQuery?

javascript - ESLint 解析和验证 JSDoc

javascript - 将项目添加到按钮单击 js 的列表中

html - 编写 stackoverflow 样式 'questions'/'tags' 翻转按钮的最佳方法

html - 如何文本对齐图例中的中心元素

html - 输入和文本区域之间的行为不同