master2012

导航

jquery mobile中的表单验证

 在jquery mobile中,在对某个表单的验证上,可以依然使用jquery-validation框架,
反正都是一家的,具体例子如下:

1)使用的js:
   jquery.validate.min.js
jquery.mobile-1.0a3.min.js
jquery.mobile-1.0a3.min.css

2)HTML表单
 

Java代码  收藏代码
  1. <div data-role="page" id="login">  
  2.       
  3.     <div data-role="header">  
  4.         <h1>Acme Corporation</h1>  
  5.     </div>  
  6.       
  7.     <div data-role="content">  
  8.           
  9.         <form id="frmLogin" class="validate">  
  10.             <div data-role="fieldcontain">  
  11.                 <label for="email">[i]* [/i] Email: </label>  
  12.                 <input type="text" id="email" name="email"   
  13.                     class="required email" />  
  14.             </div>  
  15.               
  16.             <div data-role="fieldcontain">  
  17.                 <label for="password">[i]* [/i]Password: </label>  
  18.                 <input type="password" id="password" name="password"  
  19.                     class="required" />  
  20.             </div>  
  21.               
  22.             <div class="ui-body ui-body-b">  
  23.                 <button class="btnLogin" type="submit"   
  24.                     data-theme="a">Login</button>  
  25.             </div>  
  26.         </form>  
  27.           
  28.     </div>  
  29.       
  30. </div>  


  可以看到,加上class="required"即完成必须输入项的验证

3 验证的JS其实很简单,跟普通的jquery validate一样
   $("#frmLogin").validate({
    submitHandler: function(form) {
        console.log("Call Login Action");
    }
});
   如果验证成功,则执行真正逻辑部分

4 jquery mobile还提供了横向和竖向手机切换屏时的CSS样式切换,如下:
 

Java代码  收藏代码
    1. .portrait label.error, .landscape label.error {  
    2.     color: red;  
    3.     font-size: 16px;  
    4.     font-weight: normal;  
    5.     line-height: 1.4;  
    6.     margin-top: 0.5em;  
    7.     width: 100%;  
    8.     float: none;  
    9. }  
    10.   
    11. .landscape label.error { display: inline-block; margin-left: 22%; }  
    12.   
    13. .portrait label.error { margin-left: 0; display: block; }  
    14.   
    15. em { color: red; font-weight: bold; padding-right: .25em; }  

posted on 2013-09-03 15:23  master2012  阅读(521)  评论(0)    收藏  举报