初学者到JavaScript和HTML5(前一段时间学过,直到今天才使用它)。如何使用JavaScript检查数组值与用户输入的值?
所以,我花了一些时间在网上寻找答案,但找不到我在找什么(也许我失去了一些东西)。我遇到的问题是,如果需要,我创建了一个表单,要求用户提供姓名,ID和电子邮件。现在,在现实世界中,ID和名称将被存储在数据库中,用户输入数据将在数据库中被检查;但由于这是一个班级任务,我们被要求创建一个由三名学生组成的数组,以便根据用户输入数据进行检查。
这是我的HTML5网站代码:
<!DOCTYPE html>
<html lang = "en">
<head>
<title>Student Transaction Form</title>
<meta charset="UTF-8"/>
<style>
p {
color: red;
font-family: Times New Roman, serif;
font-size: 160%;
}
</style>
</head>
<body>
<div style="text-align:center;">
<FORM METHOD="POST" id="the-form" action="#" >
<TABLE BORDER="1" align = "center" >
<caption style="font-size:30px">Student Transaction Form</caption>
<TR>
<TD style="font-size:18px">Student Name:</TD>
<TD>
<INPUT TYPE="TEXT" required = "required" placeholder = "Input Name" NAME="name" SIZE="25">
</TD>
\t <TD style="font-size:18px"><p>Required</p></TD>
</TR>
<TR>
<TD style="font-size:18px">Student Number:</TD>
<TD><INPUT TYPE="TEXT" pattern=".{8,8}" required = "required" placeholder = "Input Number" NAME="number" SIZE="25"></TD>
\t <TD style="font-size:18px"><p>Required</p></TD>
</TR>
<TR>
<TD style="font-size:18px">Student Email:</TD>
<TD><INPUT TYPE="email" NAME="email" SIZE="25" ></TD>
\t <TD style="font-size:18px">
\t <script type="text/javascript">
function ShowHideDiv(chkEmail)
\t \t {
var dvEmail = document.getElementById("dvEmail");
dvEmail.style.display = chkEmail.checked ? "block" : "none";
}
\t </script>
\t
<div id="dvEmail" style="display: none">
<p>Required</p>
</div>
</TD>
</TR>
<TR>
<TD></TD>
<TD>
<form id = "form1">
<label for="chkEmail">
<input type="checkbox" id="chkEmail" onclick="ShowHideDiv(this)" />
Email me a transaction comfirmation
</label>
</form></TD>
</TR>
</TABLE>
<P><INPUT TYPE="SUBMIT" VALUE="Submit" NAME="B1"></P>
</FORM>
</body>
此刻的代码只是确保密码(ID)是有效的(有8个字符),如果该复选框被检查,需要一封电子邮件。
所以,我的问题是:如何创建一个与学生姓名和身份证相互连接的数组(意思是如果姓名正确,但身份证是不同的人,它会标记为不正确)以及如何运行用户输入数据检查?
一个例子是,如果用户在ID框中输入Bill Smith
作为名称,59683471
在提交时会检查是否存在ID为59683471的Bill Smith;如果不是,则禁止提交。如果它们确实存在,那么一切都很好,表单可以提交。
谢谢。
编辑:
功能:
<script type ="text/javascript">
function checkall(Submit)
{
var name = document.getElementById("studentName").value;
var id = document.getElementById("studentNumber").value;
\t var studentArray =
\t [
\t {"Name": "Thomas Livshits", "Id": "33138463"},
\t {"Name": "James Maro", "Id": "33138743"},
\t {"Name": "Bill Smith", "Id": "33138356"},
\t ];
studentArray.forEach(function(student){
if(id == student.Id && name == student.Name)
console.log("Found a match for student: " + student.Name);
});
}
</script>
并提交部分:
<P><INPUT TYPE="SUBMIT" id = "Submit" VALUE="Submit" NAME="B1" onsubmit = "checkall(this); return false;"></P>
谢谢,帮助我很多。 – Thomas