JavaScript学生信息录入程序点击添加仅显示分割线问题排查
问题根因
1. 字符串拼接语法错误
你在拼接学生信息到展示区域的代码中,分割线行末尾漏掉了+运算符,导致分割线后的所有学生信息没有被正确拼接进DOM,最终仅显示分割线:
// 错误写法 document.getElementById("studentinfo").innerHTML += "------------------------------------------------------" + "<br/>" "Name: " + Summary[i].studentFirst + " " + Summary[i].studentLast + "<br/>" +
只需在分割线行的末尾补上+即可修复该问题。
2. 重复ID校验逻辑失效(隐含问题)
你声明了studentList数组用于校验重复ID,但校验通过后没有将新增的学生ID推入该数组,后续新增学生永远不会触发重复ID提醒,需要额外补全该逻辑。
修正后的核心代码
function Create() { studentID = document.getElementById('Text1').value; studentFirst = document.getElementById('Text2').value; studentLast = document.getElementById('Text3').value; Rank = document.getElementById('Select1').value; studentGPA = document.getElementById('Text4').value; if (!studentList.includes(studentID)) { if (studentID != '') { if (studentFirst != '') { if (studentLast != '') { if (Rank != -1) { if (studentGPA != '') { if (studentGPA > 0 && studentGPA < 4) { var Student = { studentID: document.getElementById('Text1').value, studentFirst: document.getElementById('Text2').value, studentLast: document.getElementById('Text3').value, Rank: document.getElementById('Select1').value, studentGPA: document.getElementById('Text4').value, }; Summary.push(Student); studentList.push(studentID); // 补全重复ID校验逻辑 document.getElementById("studentinfo").innerHTML = ""; for (var i = 0; i < Summary.length; i++) { document.getElementById("studentinfo").innerHTML += "------------------------------------------------------" + "<br/>" + // 补全缺失的加号 "Name: " + Summary[i].studentFirst + " " + Summary[i].studentLast + "<br/>" + "ID: " + Summary[i].studentID + "<br/>" + "Class: " + Summary[i].Rank + "<br/>" + "GPA: " + Summary[i].studentGPA + "<br/>"; } } else alert("GPA must be between 0 and 4"); } else alert("GPA is blank"); } else alert("Rank has not been selected"); } else alert("Last Name is blank"); } else alert("First Name is blank"); } else alert("Student ID is blank"); } else alert("Duplicate Student ID"); }
内容的提问来源于stack exchange,提问作者jeantaylor2021
相关产品推荐
相关产品推荐

