js遏止表单提交的两种方式

js阻止表单提交的两种方式

做web开发的,写表单提交的代码那是家常便饭。既然是要提交表单,那肯定就会进行表单验证,有些程序员会把验证放在服务器端,让服务器来进行验证,试想,这样把数据传来传去,效率有多低啊!!如果表单里的数据量过大,则会严重占用服务器带宽。何况现在是WEB2.0的时代了,随着Google、网易等使用Ajax技术的兴起,把表单验证放在服务器端,实在是太落后了。

今天,我们就来看看,如何把表单验证放在浏览器客户端,把验证工作交给浏览器来做,这必定要用到JavaScript。那么就瞧瞧下面两种验证方法,一种是纯JavaScript验证,第二种是引用jQuery库来进行验证。下面看代码:

1、JavaScript验证阻止提交表单
  1. <html>  
  2. <head>  
  3. <meta http-equiv="Content-Type" content="text/html; charset=gbk">  
  4. <title>JavaScript禁止提交表单</title>  
  5. <script type="text/javascript">  
  6. function getObj(id){  
  7.     var Obj = document.getElementById(id).value;  
  8.     return Obj;  
  9. }  
  10.  
  11. function check(){  
  12.     if(getObj("test")==""){  
  13.         alert("文本框输入为空,不能提交表单!");  
  14.         document.getElementById("test").focus;  
  15.         return false;//false:阻止提交表单  
  16.     }  
  17. }  
  18. </script>  
  19. </head>  
  20. <body>  
  21. <form action="index.htm" method="post" onsubmit="return check()">  
  22.     <input type="text" name="test" id="test">  
  23.     <input type="submit" value="提交">  
  24. </form>  
  25. </body>  
  26. </html> 
2、jQuery验证阻止表单提交
  1. <html>  
  2. <head>  
  3. <meta http-equiv="Content-Type" content="text/html; charset=gbk">  
  4. <script type="text/javascript" src="/sunchis/script/jquery-1.3.2.js"></script>  
  5. <script type="text/javascript">  
  6. $(document).ready(function(){  
  7.     $(":submit[id=tijiao]").click(function(check){  
  8.         var val = $(":text[id=test]").val();  
  9.         if(val==""){  
  10.             alert("文本框输入为空,不能提交表单!");  
  11.             $(":text[id=test]").focus();  
  12.             check.preventDefault();//此处阻止提交表单  
  13.         }  
  14.     });  
  15. });  
  16. </script>  
  17. <title>jQuery禁止提交表单</title>  
  18. </head>  
  19. <body>  
  20. <form action="index.htm" method="post">  
  21.     <input type="text" name="test" id="test">  
  22.     <input type="submit" id="tijiao" value="提交">  
  23. </form>  
  24. </body>  
  25. </html>