Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript验证错误_Javascript_Validation - Fatal编程技术网

Javascript验证错误

Javascript验证错误,javascript,validation,Javascript,Validation,我已经用html编写了以下代码,下面也嵌入了javascript文件 <!DOCTYPE html> <meta charset="utf-8"> <HTML> <head> <link rel="stylesheet" href="admin.css"/> <script type="text/javascript" src="common.js"></script> </head> <BOD

我已经用html编写了以下代码,下面也嵌入了javascript文件

<!DOCTYPE html>
<meta charset="utf-8">
<HTML>
<head>
<link rel="stylesheet" href="admin.css"/>
<script type="text/javascript" src="common.js"></script>
</head>
<BODY>
<div class="adminnav" id="adminnav">
<ul>
<li><a href="#">Insert</a>
<ul>
<li><a href="addcourse.html">Insert Course</a></li>
<li><a href="addstudent.html">Insert Student</a></li>
<li><a href="addteacher.html">Insert Teacher</a></li>
<li><a href="addsubject.html">Insert Subject</a></li>
</ul>
</li>
</ul>
</div>
<div class="addcourse" >
<form name="course" onSubmit='return validcourse()' method="POST">
Course Name:
  <input type="text" name="coursename" id="cname" /><br>
Duration:<input type="text" name="cd"/>
<br>
Course Id:<input name="cid" type="text" /><br>
<input  type="submit" value="submit" name="submit"><input type="reset" name="coursereset">
</form>
</div>
</BODY>
</HTML>
我的问题是什么都没有发生,没有给出错误消息。 错误消息仅针对课程名称给出,而不针对课程持续时间和课程id


这里有一个指向JSFIDLE的链接

您没有从
validcourse
返回任何内容。添加一个
返回true
返回false在其中,让提交继续或停止提交:

function validcourse()
{
    var course_name=document.course.coursename;
    var course_duration=document.course.cd;
    var course_id=document.course.cid;

    if(course_name_valid(course_name))
    {
        {
            if(course_duration_valid(course_duration))
            {
                if(course_id_valid(cid))
                {
                    return true;
                }
            }
        }
    }
    return false;

}

第三个函数
course\u duration\u valid(course\u duration)

应该是:

return false; 

好吧,我把你的东西准备好了。以下是所需的更改:

首先,DOM中的对象引用需要更干净

var course_name=document.getElementById("cname");
var course_duration=document.getElementById("cd");
var course_id=document.getElementById("cid");
如您所见,元素需要有各自的ID

Course Name:
<input type="text" name="coursename" id="cname" /><br>
Duration:
<input type="text" name="cd" id="cd"/><br>
Course Id:
<input name="cid" type="text" id="cid" /><br>
课程名称:

持续时间:
课程编号:

最后,
retrun
需要纠正,正如@Steve

已经指出的那样,在js的顶部放置一个警报,看看它是否执行。我怀疑你调用了错误的文件。我正在调用包含验证代码的common.js文件。你可以检查脚本标记。你能创建一个JSFIDLE并更新以发布链接吗?这样调试起来容易多了好的,我会做的。这是一个指向FIDLE的链接,我已经尝试过了,但它不起作用,验证仍然不起作用地点您是否在
validcourse
内的第一行设置了断点?只是想看看你的函数是否被执行过?你不需要“写”断点,而是在浏览器的调试器中“设置”断点。例如,在Chrome中:你的拼写错误,我已将其返回
var course_name=document.getElementById("cname");
var course_duration=document.getElementById("cd");
var course_id=document.getElementById("cid");
Course Name:
<input type="text" name="coursename" id="cname" /><br>
Duration:
<input type="text" name="cd" id="cd"/><br>
Course Id:
<input name="cid" type="text" id="cid" /><br>