Javascript 验证例程不工作
每次我在没有填写正确信息的情况下单击“提交”,每个部分都会显示一条警告消息,文本应该变为红色,但它正链接到链接的文件。如果有人能帮上忙,我会非常感激的Javascript 验证例程不工作,javascript,html,validation,Javascript,Html,Validation,每次我在没有填写正确信息的情况下单击“提交”,每个部分都会显示一条警告消息,文本应该变为红色,但它正链接到链接的文件。如果有人能帮上忙,我会非常感激的 <html> <head> <title>Exam Entry</title> <script language="javascript" type="text/javascript"> function validateForm() { var result = true; var
<html>
<head>
<title>Exam Entry</title>
<script language="javascript" type="text/javascript">
function validateForm() {
var result = true;
var msg="";
if (document.ExamEntry.Name.value=="") {
msg+="You must enter your Name \n";
document.ExamEntry.Name.focus();
document.getElementById('Name').style.color="red";
result = false;
}
if (document.ExamEntry.Subject.value=="") {
msg+="You must enter the Subject \n";
document.ExanEntry.Subject.focus();
document.getElementById('Subject').style.color="red";
result = false;
}
if (document.ExamEntry.ExamNumber.value=="") {
msg+="You must enter the ExamNumber \n";
document.ExanEntry.ExamNumber.focus();
document.getElementById('ExamNumber').style.color="red";
result = false;
}
if (document.ExamEntry.ExamNumber.value.length!=4) {
msg+="You must enter at least Four Numbers in the ExamNumber \n";
document.ExamEntry.ExamNumber.focus();
document.getElementById('ExamNumber').style.color="red";
result = false;
}
if ( ( Examentry.Exam Level[0].checked == false ) && ( Examentry.Exam Level[1].checked == false ) && ( Examentry.Exam Level[2].checked == false ))
{
alert
( "Please select you Exam Level" );
return false;
}
if(msg==""){
return result;
}
{
alert(msg)
return result;
}
}
</script>
</head>
<body>
<h1>Exam Entry Form</h1>
<form name="ExamEntry" method="post" action="success.html">
<table width="50%" border="0">
<tr>
<td id="Name">Name</td>
<td><input type="text" name="Name" /></td>
</tr>
<tr>
<td id="Subject">Subject</td>
<td><input type="text" name="Subject" /></td>
</tr>
<tr>
<td id="ExamNumber">ExamNumber</td>
<td><input type="text" name="ExamNumber" Length="4"/>
<front size="1">(Maximum characters: 4)</font></td>
</tr>
<tr>
<td id="Exam Level">Exam Level</td>
<td><input type="radio" name="age" value="GCSE">GCSE<br>
<input type="radio" name="Exam Level" value="AS">AS<br>
<input type="radio" name="Exam Level" value="A2">A2</td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Submit" onclick="return validateForm();" /></td>
<td><input type="reset" name="Reset" value="Reset" /></td>
</tr>
<tr>
</tr>
</table>
</form>
</body>
</html>
报考
函数validateForm(){
var结果=真;
var msg=“”;
if(document.ExamEntry.Name.value==“”){
msg+=“您必须输入您的姓名\n”;
document.ExamEntry.Name.focus();
document.getElementById('Name').style.color=“红色”;
结果=假;
}
if(document.ExamEntry.Subject.value==“”){
msg+=“您必须输入主题\n”;
document.exantry.Subject.focus();
document.getElementById('Subject').style.color=“red”;
结果=假;
}
if(document.ExamEntry.ExamNumber.value==“”){
msg+=“您必须输入ExamNumber\n”;
document.exantry.ExamNumber.focus();
document.getElementById('ExamNumber').style.color=“红色”;
结果=假;
}
if(document.ExamEntry.ExamNumber.value.length!=4){
msg+=“您必须在ExamNumber中至少输入四个数字\n”;
document.ExamEntry.ExamNumber.focus();
document.getElementById('ExamNumber').style.color=“红色”;
结果=假;
}
if((Examentry.Exam Level[0]。checked==false)和&(Examentry.Exam Level[1]。checked==false)和&(Examentry.Exam Level[2]。checked==false))
{
警觉的
(“请选择您的考试级别”);
返回false;
}
如果(msg==“”){
返回结果;
}
{
警报(msg)
返回结果;
}
}
报考表
名称
主题
考试号
(最多4个字符)
考试水平
GCSE
AS
A2
这是它链接到的文件
<head>
<title>Success message</title>
</head>
<body>
<H1> You entered all the data required </H1>
</body>
成功信息
您输入了所需的所有数据
这可能是您的问题。删除代码>
function validateForm(); { //-----> Remove ;
//rest of your code
}
此外,您还应该查看一下验证引擎
插件或jQuery validate
这一行:
if ( ( Examentry.Exam Level[0].checked == false ) && ( Examentry.Exam Level[1].checked == false ) && ( Examentry.Exam Level[2].checked == false ))
包含阻止脚本运行的语法错误(“检查”和“级别”之间的空格)。
如果删除“检查”和“级别”之间的空格,则它将起作用:
if ( ( Examentry.ExamLevel[0].checked == false ) && ( Examentry.ExamLevel[1].checked == false ) && ( Examentry.ExamLevel[2].checked == false ))
更新:您还需要修改实际HTML元素本身的id标记以删除空格。e、 g
变为
我建议您在测试此类内容时保持浏览器开发工具(大多数浏览器中为F12)处于打开状态,因为脚本synatx错误通常会立即被标记。我看不到您在javascript函数中使用的任何ID,如Name、Examnumber等。@Unknown:它就在那里。以后可能会编辑。ID不应该有空格->检查级别
。您可以使用document.getElementById()
检索这些元素,但不能像您在if
语句中那样使用这些元素讽刺的是,关于考试的问题应该有这么多拼写错误,这是由我的GCSE控制的评估。我才15岁,拼写不是我的强项。谢谢你的回答,但我已经把它删除了,它仍然不起作用。是的。用空格标识是一个糟糕的选择idea@LatinSuD-:)谢谢-我更新了我的答案,让它更清楚,他也应该修复id属性!谢谢,我用f12修正了代码,我从来没有听说过,谢谢。