2013-03-28 110 views
0

我有下面的代碼:// 頭部分客戶端驗證在PHP頁面無法正常工作

<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; 
} 

//主體部分:

<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> 

但是,當我點擊提交按鈕,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> 
+1

你爲什麼要重新啓動清除緩存系統??? – techfoobar

+0

你可以嘗試使用螢火蟲/任何控制檯設定斷點? –

+0

此外,請確保您在控制檯中沒有任何其他js錯誤 –

回答

0

試試這個:

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

形式。

0

你錯過了一個;試試這個:

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

它不工作!代碼似乎很好.....什麼是問題? – user2202230

+0

您可以將鏈接指向您正在使用它的頁面,以便我們可以進行調試嗎? – RuFFCuT

+0

我正在使用Localhost。所以我在這裏發佈整個代碼。 – user2202230

0

你的代碼運行我的系統上罰款:

<!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>