javascript之jQuery 插件

11 篇文章 0 订阅
11 篇文章 0 订阅

Validation

1.引入jQuery库和Validation插件

 <script src="../../scripts/jquery.js" type="text/javascript"></script>
 <script src="lib/jquery.validate.js" type="text/javascript"></script>
2.确定哪个表单需要被验证

$(document).ready(function(){
	$("#commentForm").validate();
});

3.针对不同的字段,进行验证规则编码

 <form class="cmxform" id="commentForm" method="get" action="">
 <fieldset>
   <legend>一个简单的验证带验证提示的评论例子</legend>
   <p>
     <label for="cusername">姓名</label>
     <em>*</em><input id="cusername" name="username" size="25" class="required" minlength="2" />
   </p>
   <p>
     <label for="cemail">电子邮件</label>
     <em>*</em><input id="cemail" name="email" size="25"  class="required email" />
   </p>
   <p>
     <label for="curl">网址</label>
     <em>  </em><input id="curl" name="url" size="25"  class="url" value="" />
   </p>
   <p>
     <label for="ccomment">你的评论</label>
     <em>*</em><textarea id="ccomment" name="comment" cols="22"  class="required"></textarea>
   </p>
   <p>
     <input class="submit" type="submit" value="提交"/>
   </p>
 </fieldset>
 </form>
class="required"为必须填写,minlength="2"为最小长度为2
class="required email"为必须填写和内容需要符合email的格式
class="url"为url格式验证

jquery.metadata.js

支持固定格式解析的jQuery插件
可将验证规则全部编写到class属性中.

改变调用验证方法

  <script type="text/javascript">
  $(document).ready(function(){
  	  $("#commentForm").validate({meta: "validate"});
  });
  </script>
html调用方法

 <form class="cmxform" id="commentForm" method="get" action="">
 <fieldset>
   <legend>一个简单的验证带验证提示的评论例子</legend>
   <p>
     <label for="cusername">姓名</label>
     <em>*</em><input id="cusername" name="username" size="25"  class="{validate:{required:true, minlength:2}}" />
   </p>
   <p>
     <label for="cemail">电子邮件</label>
     <em>*</em><input id="cemail" name="email" size="25"   class="{validate:{required:true, email:true}}"  />
   </p>
   <p>
     <label for="curl">网址</label>
     <em>  </em><input id="curl" name="url" size="25"  value=""   class="{validate:{url:true}}" />
   </p>
   <p>
     <label for="ccomment">你的评论</label>
     <em>*</em><textarea id="ccomment" name="comment" cols="22"  class="{validate:{required:true}}" ></textarea>
   </p>
   <p>
     <input class="submit" type="submit" value="提交"/>
   </p>
 </fieldset>
 </form>

通过字段name属性值来匹配验证规则

  • 在$("#commentForm").validate()方法中增加rules属性
  • 通过每个字段的name属性值来匹配验证规则
  • 定义验证规则:例如required:true,email:true等

  <script type="text/javascript">
  $(document).ready(function(){

	$("#commentForm").validate({
		rules: {
			username: {
				required: true,
				minlength: 2
			},
			email: {
				required: true,
				email: true
			},
			url:"url",
			comment: "required"
		}
	  });

  });
  </script>

自定义验证信息

  $(document).ready(function(){

	$("#commentForm").validate({
		rules: {
			username: {
				required: true,
				minlength: 2
			},
			email: {
				required: true,
				email: true
			},
			url:"url",
			comment: "required"
		},
		
		messages: {
			username: {
				required: '请输入姓名',
				minlength: '请至少输入两个字符'
			},
			email: {
				required: '请输入电子邮件',
				email: '请检查电子邮件的格式'
			},
			url: '请检查网址的格式',
			comment: '请输入您的评论'
		},	
		
		errorElement: "em", //可以用其他标签,记住把样式也对应修改
		success: function(label) {
			//label指向上面那个错误提示信息标签em
			label.text(" ")				//清空错误提示消息
				.addClass("success");	//加上自定义的success类
		}

	  });

  });
 <form class="cmxform" id="commentForm" method="get" action="">
 <fieldset>
   <legend>一个简单的验证带验证提示的评论例子</legend>
   <p>
     <label for="cusername">姓名</label>
     <em>*</em><input id="cusername" name="username" size="25" />
   </p>
   <p>
     <label for="cemail">电子邮件</label>
     <em>*</em><input id="cemail" name="email" size="25"  />
   </p>
   <p>
     <label for="curl">网址</label>
     <em>  </em><input id="curl" name="url" size="25"  value="" />
   </p>
   <p>
     <label for="ccomment">你的评论</label>
     <em>*</em><textarea id="ccomment" name="comment" cols="22" rows="2"></textarea>
   </p>
   <p>
     <input class="submit" type="submit" value="提交"/>
   </p>
 </fieldset>
 </form>

美化验证信息

em { font-weight: bold; padding-right: 1em; vertical-align: top; }
em.error {
  background:url("images/unchecked.gif") no-repeat 0px 0px;
  padding-left: 16px;
}
em.success {
  background:url("images/checked.gif") no-repeat 0px 0px;
  padding-left: 16px;
}
  <script type="text/javascript">
  $(document).ready(function(){

	//自定义一个验证方法
	$.validator.addMethod(
	"formula", //验证方法名称
	function(value, element, param) {//验证规则
		return value == eval(param);
	}, 
	'请正确输入数学公式计算后的结果'//验证提示信息
	);

	$("#commentForm").validate({
		rules: {
			username: {
				required: true,
				minlength: 2
			},
			email: {
				required: true,
				email: true
			},
			url:"url",
			comment: "required",
			valcode: {
				formula: "7+9"	
			}
		},
		
		messages: {
			username: {
				required: '请输入姓名',
				minlength: '请至少输入两个字符'
			},
			email: {
				required: '请输入电子邮件',
				email: '请检查电子邮件的格式'
			},
			url: '请检查网址的格式',
			comment: '请输入您的评论'
		},	
		
		errorElement: "em",				//用来创建错误提示信息标签
		success: function(label) {			//验证成功后的执行的回调函数
			//label指向上面那个错误提示信息标签em
			label.text(" ")				//清空错误提示消息
				.addClass("success");	//加上自定义的success类
		}


	  });

  });
  </script>



Form

简单地提交表单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
  <title>demo1.html</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <script src="../../scripts/jquery.js" type="text/javascript"></script>
  <script src="lib/jquery.form.js" type="text/javascript"></script>
   <script type="text/javascript">          
   $(document).ready(function() {  
		   $('#myForm').ajaxForm(function() {   
			   $('#output1').html("提交成功!欢迎下次再来!").show();    
		   });   
   });   
   </script> 
  </head>
  
  <body>
    <h3> Demo 1 : form插件的使用--ajaxForm(). </h3>
	<form id="myForm" action="demo.php" method="post"> 
	    名称: <input type="text" name="name" /> <br/>
		地址: <input type="text" name="address" /><br/> 
	    自我介绍: <textarea name="comment"></textarea> <br/>
	    <input type="submit" id="test" value="提交" /> <br/>
	    <div id="output1" style="display:none;"></div>
	</form>
  </body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="../../scripts/jquery.js" type="text/javascript"></script>
<script src="lib/jquery.form.js" type="text/javascript"></script>
   <script type="text/javascript">          
   $(document).ready(function() {  
		 $('#test').click(function(){
              var queryString = $('#myForm').formSerialize();
              alert(queryString);
              // 组装的数据可以用于 $.get, $.post, $.ajax ...
              $.post('demo.php', queryString ,function(data){
                  $('#output1').html("提交成功!欢迎下次再来!").show();      
              }); 
              return false;
         })
         
         //demo2
         $('#test2').click(function(){
              var queryString = $('#myForm2 *').fieldValue(); 
              alert(queryString);
              return false;
         })
         
         //重置表单
         $('#test3').click(function(){
             $('#myForm').resetForm();
             $('#myForm2').resetForm();
         })
          //清除表单
         $('#test4').click(function(){
             $('#myForm').clearForm();
             $('#myForm2').clearForm();
         })
   });   
   </script> 
  </head>
  
  <body>
    <h3> Demo 3 : form插件的使用--formSerialize()组装表单数据,用于jQuery中的.ajax(). </h3>
<!-- demo1 -->
<form id="myForm" action="demo.php" method="post"> 
    名称: <input type="text" name="name" /> <br/>
	地址: <input type="text" name="address" /><br/> 
    自我介绍: <textarea name="comment"></textarea> <br/>
    <input type="submit" id="test" value="提交" /> <br/>
    <div id="output1" style="display:none;"></div>
</form>

<br/><br/><br/>

<!-- demo2 -->
<form id="myForm2" action="demo.php" method="post"> 
    名称: <input type="text" name="name2" class="special"/> <br/>
	地址: <input type="text" name="address2" /><br/> 
    自我介绍: <textarea name="comment2" class="special"></textarea> <br/>
    单选:男<input type="radio" name="a" value="男" checked/> 
       女<input type="radio" name="a" value="女"/><br/>
    <input type="submit" id="test2" value="提交" /> <br/>
</form>

<br/><br/><br/>
<input type="button" id="test3" value="重置所有表单" /> <br/>
<input type="button" id="test4" value="清除所有表单" /> (提示:发现单选框以前选中的,也被清除了,跟重置有点区别!)<br/>


  </body>
</html>



			 // json
					$(document).ready(function() { 
					    $('#myForm').ajaxForm({ 
					        // 声明 服务器返回数据的类型.
					        dataType:  'json', 
					        success:   processJson 
					    }); 
					});
					
					function processJson(data) { 
						    // 'data'是一个json对象,从服务器返回的.
						    $('#jsonOut').html(data.name +  "   "+data.address + "  "+data.comment); 
					}
			
			// xml 
				$(document).ready(function() { 
				    $('#xmlForm').ajaxForm({ 
				        // 声明 服务器返回数据的类型.
				        dataType:  'xml', 
				        success:   processXml 
				    }); 
				});	
				
				function processXml(responseXML) { 
				    // 'responseXML' 是一个XML的文档 ,从服务器返回的.
				    var name = $('name', responseXML).text(); 
				    var address = $('address', responseXML).text(); 
				    var comment = $('comment', responseXML).text(); 
				    $('#xmlOut').html(name +  "   "+address + "  "+comment); 
				}
			
			// html 
				$(document).ready(function() { 
				    $('#htmlForm').ajaxForm({ 
				        // 用服务器返回的数据 更新 id为 htmlcssrain 的内容.
				        target: '#htmlOut', 
				        success: function() { 
				            $('#htmlOut').fadeIn('slow'); 
				        } 
				    }); 
				});

SimpleModal

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SimpleModal Basic Modal Dialog </title>
<!-- Page styles -->
<link type='text/css' href='css/demo.css' rel='stylesheet' />
<!-- Contact Form CSS files -->
<link type='text/css' href='css/basic.css' rel='stylesheet' />
<link type='text/css' href='css/box.css' rel='stylesheet' />
</head>
<body>
<div id='container'>

    <div id='logo'>
        <h1>Simple<span><a href="http://www.ericmmartin.com/projects/simplemodal-demos/">Modal</a></span></h1>
        <span class='title'>一个简单的遮罩层,可以制作提示框,对话框,弹出层,弹出iframe等...</span>
    </div>
    <div id='content'>
        <div id='basic-modal'>
            <p>提示框-ok:<input type='button' name='basic' value='Demo' class='open-basic-dialog-ok'/> or <a href='#' class='open-basic-dialog-ok'>Demo</a></p>
            <p>提示框-warn:<input type='button' name='basic' value='Demo' class='open-basic-dialog-warn'/> or <a href='#' class='open-basic-dialog-warn'>Demo</a></p>
            <p>弹出iframe:<input type='button' name='basic' value='Demo' class='open-basic-ifr'/> or <a href='#' class='open-basic-ifr'>Demo</a></p>
        </div>
    </div>
    
    <!-- 弹出内容 -->

    <div id="basic-dialog-ok">
        <!-- 普通弹出层 [[ -->  
        <div class="box-title show"><h2>提示</h2></div>  
        <div class="box-main">
            <div class="tips">      
                <span class="tips-ico">
                    <span class="ico-ok"><!-- 图标class可以为: ico-ok , ico-error , ico-info , ico-question , ico-warn , ico-wait --></span>
                </span>      
                <div class="tips-content">        
                    <div class="tips-title">申请成功,我们将短信通知您!</div>        
                    <div class="tips-line"></div>     
                </div>    
            </div>
            <div class="box-buttons"><button type="button" class="simplemodal-close">关 闭</button></div>
        </div>  
        <!-- 普通弹出层 ]] -->
    </div>

    <div id="basic-dialog-warn">
        <!-- 普通弹出层 [[ -->  
        <div class="box-title show"><h2>提示</h2></div>  
        <div class="box-main">
            <div class="tips">      
                <span class="tips-ico">
                    <span class="ico-warn"><!-- 图标 --></span>
                </span>      
                <div class="tips-content">        
                    <div class="tips-title">系统繁忙,请稍候重试</div>        
                    <div class="tips-line"></div>     
                </div>    
            </div>
            <div class="box-buttons"><button type="button" class="simplemodal-close">关 闭</button></div>
        </div>  
        <!-- 普通弹出层 ]] -->
    </div>

    <div id="ifr-dialog" >
        <!-- iframe弹出层 [[ -->  
        <iframe frameborder="0" scrolling="no" id="ifr-dialog-container" src="javascript:;" class="box-iframe"></iframe>
        <!-- iframe弹出层 ]] -->
    </div>

</div>
<!-- Load jQuery, SimpleModal and Basic JS files -->
<script type="text/javascript" src="../../scripts/jquery.js" ></script>
<script type='text/javascript' src='js/jquery.simplemodal.js'></script>
<script  >
jQuery(function ($) {
    /* 提示框 */
    $('.open-basic-dialog-ok').click(function (e) {
        $('#basic-dialog-ok').modal();
        return false;
    });
    $('.open-basic-dialog-warn').click(function (e) {
        $('#basic-dialog-warn').modal();
        return false;
    });

    $('.open-basic-ifr').click(function (e) {
        showIframe("http://www.baidu.com","ifr-dialog-content");
        return false;
    });

});

/* eg:showIframe */
function showIframe(src , id ){
    $("#ifr-dialog-container").attr("src",src);
    $('#ifr-dialog').modal({opacity:30,"overlayClose":true,"containerId":id });
}

</script>
</body>
</html>

Cookie插件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="../../scripts/jquery.js" type="text/javascript"></script>
<script src="js/jquery.cookie.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
	var COOKIE_NAME = 'username';
	if( $.cookie(COOKIE_NAME) ){
		$("#username").val(  $.cookie(COOKIE_NAME) );
	}
	$("#check").click(function(){
		if(this.checked){
			$.cookie(COOKIE_NAME, $("#username").val() , { path: '/', expires: 10 });
		}else{
			$.cookie(COOKIE_NAME, null, { path: '/' });
		}
	});
});
</script>
</head>
<body>
   用户名:<input type="text" name="username" id="username"/> <br/>
   <input type="checkbox" name="check" id="check"/>记住用户名
</body>
</html>

删除Cookie.

$.cookie('the_cookie',null);






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值