php页面中的客户端验证不起作用

php页面中的客户端验证不起作用,php,javascript,html,Php,Javascript,Html,我有以下代码: //头部 <script type="text/javascript"> function check_form() { var id = document.forms[0].txtbid.value; var bname = document.forms[0].txtbtitle.value; if (id.length==0) { alert("Please enter a valid Book ID."); return false; } if

我有以下代码: //头部

<script type="text/javascript">
function check_form()
{
var id = document.forms[0].txtbid.value;
var bname = document.forms[0].txtbtitle.value;
if (id.length==0)
{
    alert("Please enter a valid Book ID.");
    return false;
}
if (id.length>8)
{
    alert("Book ID cannot exceed 8 digit.");
    return false;
}
if (bname.length==0)
{
    alert("Please enter the Book Title.");
    return false;
}
return true;
}

函数检查表()
{
var id=document.forms[0].txtbid.value;
var bname=document.forms[0].txtbtitle.value;
如果(id.length==0)
{
警报(“请输入有效的图书ID”);
返回false;
}
如果(id.length>8)
{
警告(“图书ID不能超过8位”);
返回false;
}
如果(bname.length==0)
{
警告(“请输入书名”);
返回false;
}
返回true;
}

//正文部分:

<form action="addnewbook.php" method="post" onsubmit="return check_form()">
<table border="0" cellspacing="0" cellpadding="5" width="400px"> 
<tr> <td> Book ID </td> <td> <input type="text" name="txtbid" size="30px"> </td> </tr>
<tr> <td> Book Title </td> <td> <input type="text" name="txtbtitle" size="30px"></td>     </tr>
<tr> <td> <input type="reset" value="Clear">
<input type="submit" name="add" value="Add Book"> </td></tr>
</table>
</form>

书号
书名
但是当我单击submit按钮时,addnewbook.php将在没有任何客户端验证的情况下打开。以前的某个时候,同一段代码工作正常。我试着用“this”关键字来修改它,但它不起作用

因此,我再次编写了前面的代码,但它不起作用。我重新启动了系统,认为必须清除缓存。[只是一次尝试]但它仍然不起作用。我的语法错了吗

伙计们,我给你们发了简化的代码,运行良好,完整的代码如下,但这不起作用:

<html>
<head>
<link rel="stylesheet" type="text/css" href="../style.css" />
<title>Library Manager | Major Project 2013</title>
<script type="text/javascript">
function check_form()
{
var id = document.forms[0].txtbid.value;
var bname = document.forms[0].txtbtitle.value;
var bauthor = document.forms[0].txtbauthor.value;
var bpub = document.forms[0].txtbpublication.value;
var bedition = document.forms[0].txtbedition.value;
var byear = document.forms[0].txtbyear.value;
var bpages = document.forms[0].check_form.txtbpages.value;
if (id.length==0)
{
alert("Please enter a valid Book ID.");
return false;
}
if (id.length>8)
{
alert("Book ID cannot exceed 8 digit.");
return false;
}
if (bname.length==0)
{
alert("Please enter the Book Title.");
return false;
}
return true;
}
</script>

</head>
<body>
<div id="container">
<?php include 'books_header.php'; ?>
<div id="leftmenu">
<div id="leftmenu_top"></div>
<?php include "books_link.php" ?>
<div id="leftmenu_bottom"></div>
</div>
<div id="content">
<div id="content_top"></div>
<div id="content_main">
<h2> Add New: </h2> Option marked with * are compulsary.
<p>&nbsp;</p>
<form action="addnewbook.php" method="post" onsubmit="javascript:return check_form()">
<table border="0" cellspacing="0" cellpadding="5" width="400px"> 
<tr> <td> Book ID <font id="error"> * </font> </td> <td> <input type="text" name="txtbid" size="30px"> </td> </tr>
<tr> <td> Book Title <font id="error"> * </font></td> <td> <input type="text" name="txtbtitle" size="30px"> </td> </tr>
<tr> <td> Book Author <font id="error"> * </font></td> <td> <input type="text" name="txtbauthor" size="30px"> </td></tr>
<tr> <td> Book Publication </td> <td> <input type="text" name="txtbpublication" size="30px"> </td></tr>
<tr> <td> Edition </td> <td> <input type="text" name="txtbedition" size="30px"> </td></tr>
<tr> <td> Published Year <font id="error"> * </font></td> <td> <input type="text" name="txtbyear" size="30px"> </td></tr>
<tr> <td> Total Pages <font id="error"> * </font></td> <td> <input type="text" name="txtbpages" size="30px"> </td></tr>
<tr> <td> Book Category </td> <td> 
<!-- <input type="text" name="txtbcategory" size="30px"> -->
<select name="txtbcategory"> 
<?php                   
include("../connect.php");    
$query = mysql_query("SELECT * FROM categories");   
while ($row = mysql_fetch_array($query)) {
print "<option value=".$row{'Category'}.">".$row{'Category'}."</option>";
}
mysql_close($dbhandle);
?>                      
</select> 

</td></tr>
<tr> <td> Remark </td> <td> <textarea rows="4" cols="24" name="txtbremark"> </textarea>   </td></tr>
<tr><td>  </td>
<td> <input type="reset" value="Clear">
<input type="submit" name="add" value="Add Book"> </td></tr>
</table>
</form>
<p>&nbsp;</p>
</div>
<div id="content_bottom"></div>
<?php include '../footer.php'; ?>
</div>
</div>
</body>
</html>

图书馆经理| 2013年重大项目
函数检查表()
{
var id=document.forms[0].txtbid.value;
var bname=document.forms[0].txtbtitle.value;
var bauthor=document.forms[0].txtbuthor.value;
var bpub=document.forms[0].txtbpublication.value;
var bedition=document.forms[0].txtbdition.value;
var byear=document.forms[0].txtbyear.value;
var bpages=document.forms[0]。检查_form.txtbages.value;
如果(id.length==0)
{
警报(“请输入有效的图书ID”);
返回false;
}
如果(id.length>8)
{
警告(“图书ID不能超过8位”);
返回false;
}
如果(bname.length==0)
{
警告(“请输入书名”);
返回false;
}
返回true;
}
添加新:带有*标记的选项是强制的。

图书编号* 书名* 书籍作者* 图书出版 版本 出版年份* 总页数* 图书类别 评论

试试这个:

<form action="addnewbook.php" method="post" onsubmit="javascript:return check_form()">


在表单中。

您缺少一个;试试这个:

<form action="addnewbook.php" method="post" onsubmit="return check_form();">

您的代码在我的系统上运行良好:

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title> - jsFiddle demo</title>


  <style type='text/css'>

  </style>



<script type='text/javascript'>//<![CDATA[ 
function check_form()
{
var id = document.forms[0].txtbid.value;
var bname = document.forms[0].txtbtitle.value;
if (id.length==0)
{
    alert("Please enter a valid Book ID.");
    return false;
}
if (id.length>8)
{
    alert("Book ID cannot exceed 8 digit.");
    return false;
}
if (bname.length==0)
{
    alert("Please enter the Book Title.");
    return false;
}
return true;
}
//]]>  

</script>


</head>
<body>
  <form action="addnewbook.php" method="post" onsubmit="return check_form()">
<table border="0" cellspacing="0" cellpadding="5" width="400px"> 
<tr> <td> Book ID </td> <td> <input type="text" name="txtbid" size="30px"> </td> </tr>
<tr> <td> Book Title </td> <td> <input type="text" name="txtbtitle" size="30px"></td>     </tr>
<tr> <td> <input type="reset" value="Clear">
<input type="submit" name="add" value="Add Book"> </td></tr>
</table>
</form>

</body>


</html>

-JSFIDLE演示
//8)
{
警告(“图书ID不能超过8位”);
返回false;
}
如果(bname.length==0)
{
警告(“请输入书名”);
返回false;
}
返回true;
}
//]]>  
书号
书名

为什么要重新启动系统以清除缓存???是否可以尝试使用firebug/任何控制台设置断点?还要确保控制台中没有任何其他js错误您的代码对我来说工作正常。请看这里:您能提供您正在使用它的页面的链接以便我们可以调试它吗?我正在使用Localhost。所以我把全部代码都贴在这里。很抱歉,这不允许我发布整个页面。如何做?