<!DOCTYPE html>
<html>
<head>
<title>practice</title>
<meta charset="UTF-8">
<meta name="description" content="Creating and Maintaining Student Record Object">
<script>
var section = [];
var name = [];
var gender = [];
var age = [];
var favsub = [];
var studRec = [];
function saveButton() {
studRec[studRec.length] = {
section:document.getElementById("section").value,
name:document.getElementById("name").value,
gender:document.getElementById("gender").value,
age:document.getElementById("age").value,
favsub1:document.getElementsByClassName("favsub")[0].value,
favsub2:document.getElementsByClassName("favsub")[1].value,
favsub3:document.getElementsByClassName("favsub")[2].value,
}
document.getElementById("saveStud").reset();
console.log(studRec[studRec.length-1]);
}
function checker() {
var name = document.getElementById("name1").value;
var section = document.getElementById("section1").value;
var count=studRec.length;
var check;
for(var i=0;i<count;i++)
{
check = studRec[i].includes(name,section);
if( check == true){
return studRec[i];
}
alert("Info does not exist");
}
}
</script>
<form id="saveStud" method="POST">
<center>
<p>Section</p>
<select id="section" autofocus required>
<option value="0">select</option>
<option value="truth">truth</option>
<option value="faith">faith</option>
<option value="honesty">honesty</option>
<option value="charity">charity</option>
<option value="obedience">obedience</option>
<option value="chastity">chastity</option>
<option value="generosity">generosity</option>
<option value="humility">humility</option>
</select><br>
<p>Student Name</p><input id="name" type="text" required><br>
<p>Gender</p>
<select id="gender">
<option value="M">Male</option>
<option value="F">Female</option>
</select><br>
<p>Age</p><input id="age" type="number" required><br>
<p>Favorite Subjects</p><input class="favsub" type="text" required><br>
<input class="favsub" type="text" required><br>
<input class="favsub" type="text" required><br>
<button onclick="saveButton()">save</button>
<button type="reset" value="reset">reset</button>
</center>
</form>
<br>
<form id="search" method="POST">
<center>
<button type="button" onclick="checker()">search</button>
<input id="name1" type="text" placeholder="Enter Student Name" required>
<select id="section1" autofocus required>
<option value="0">select</option>
<option value="truth">truth</option>
<option value="faith">faith</option>
<option value="honesty">honesty</option>
<option value="charity">charity</option>
<option value="obedience">obedience</option>
<option value="chastity">chastity</option>
<option value="generosity">generosity</option>
<option value="humility">humility</option>
</select>
<br>
<button type="button">delete</button>
</center>
</form>
</body>
</html>
代码假定使用函数 saveButton() 将学生的信息存储在一个数组中,然后我们键入学生姓名并选择部分并使用搜索按钮,函数 checker() 假定显示信息如果输入的信息包含在数组 studRec 中,但行 check = studRec[i].includes(name,section);不起作用。请帮忙
最佳答案
这是您要调用的对象 includes
:
{ section: document.getElementById("section").value, name: document.getElementById("name").value, gender: document.getElementById("gender").value, age: document.getElementById("age").value, favsub1: document.getElementsByClassName("favsub")[0].value, favsub2: document.getElementsByClassName("favsub")[1].value, favsub3: document.getElementsByClassName("favsub")[2].value, }
您还没有在此处放置 includes
属性,并且对象没有 native includes
方法。 Arrays have one ,但 {}
创建一个普通对象,而不是一个数组。
参见 How do I check if an object has a property in JavaScript?测试对象是否具有给定名称的属性。
关于javascript - 为什么我的包含函数不被识别为函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55610100/