欧美videos另类精品-欧美videos另类极品-欧美vide-欧美va在线视频-欧美va在线观看-欧美va在线播放免费观看

從零開始學習jQuery (十一) 實戰(zhàn)表單驗證與自動完成提示插件

2013-4-19    藍藍設計的小編

轉(zhuǎn)載藍藍設計(   www.73404.com.cn  )是一家專注而深入的設計機構 ,為期望卓越的國內(nèi)外企業(yè)提供有效的   BS界面設計 、 cs界面設計 、  ipad界面設計   、  包裝設計 、  圖標定制 、  用戶體驗 、交互設計、   網(wǎng)站建設 平面設計服務

來源:http://www.cnblogs.com/zhangziqiu/archive/2009/05/08/jQuery-Learn-11.html

如果您想訂閱本博客內(nèi)容,每天自動發(fā)到您的郵箱中,   請點這里

一.摘要

本系列文章將帶您進入jQuery的精彩世界, 其中有很多作者具體的使用經(jīng)驗和解決方案,  即使你會使用jQuery也能在閱讀中發(fā)現(xiàn)些許秘籍.

本文是介紹兩個最常用的jQuery插件. 分別用于表單驗證和自動完成提示(類似google suggest).

 

二.前言

研究別人的作品真是一件花時間而且痛苦的過程. 當然也和本人英文不好有關. 總覺得控件作者寫了很多文檔但是都不夠系統(tǒng), 需要深入研究很多的實例后才能了解作者的思路.所以學習和研究一個插件需要很高成本, 如果發(fā)現(xiàn)了Bug并修復需要的成本也是未知數(shù)(本次我花了較少的時間解決了自動完成提示插件的一個中文bug, 但是如果復雜的bug就不會這么簡單了.).

對于簡單應用我首先推薦上文中的jQuery UI. 但是jQuery UI解決的問題有限. 使用jQuery插件是我們最后的一個好辦法---還算是好辦法, 起碼比自己開發(fā)要好吧?

很多jQuery的插件編碼異常優(yōu)美, 看一看藝龍首頁現(xiàn)在的城市輸入框控件, 除了需要為輸入框手工添加很多很多屬性(onkeyup, onkeydown等等), 而且還不夠通用, 占用服務器資源和網(wǎng)絡資源.但是當初也是花費了很久的時間完成的作品.

站在巨人的肩膀上, 讓我感覺寫腳本和寫設計C#程序一樣, 都有高度和深度可以挖掘. 除了使用作者開發(fā)好的功能, 還可以學習如何開發(fā)和封裝javascript控件. 看過優(yōu)秀的jQuery插件作者的代碼和設計思想后, 常常自嘆設計水平差距居然如此之大, 增加自認為腳本高手, 比較過后就是C#程序員和架構師之間的差距.

希望大家通過本章節(jié)介紹的兩個插件, 除了學會如何使用,  還能夠略微領悟到如何封裝和設計javascript控件.

 

三.表單驗證插件 validate

在提交表單前常要對用戶輸入進行校驗.ASP.NET的驗證控件就是用于此目的, 可以同時進行客戶端和服務器端驗證. 但是驗證控件并沒有被所有項目采用. 而且在MVC項目中經(jīng)常使用自己的客戶端驗證框架.

在比較了若干表單驗證插件后, 決定采用validate插件. 因為其使用簡單并且靈活.

插件首頁:

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

插件文檔:

http://docs.jquery.com/Plugins/Validation

配置說明:

http://docs.jquery.com/Plugins/Validation/validate#options

1.應用實例

實例效果:

image

實例代碼:

<%@ Page Language="C#" %> <!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 id="Head1" runat="server">     <title>jQuery PlugIn - 表單驗證插件實例 Validate </title>     <!--black-tie,blitzer,blitzer,dot-luv,excite-bike,hot-sneaks,humanity,mint-choc,redmond,smoothness,south-street,start,swanky-purse,trontastic,ui-darkness,ui-lightness,vader-->     <link rel="stylesheet" type="text/css" href="<%=WebConfig.ResourceServer +"/JsLib/jquery/themes/redmond/style.css"%>" />     <script type="text/javascript" src="<% =WebConfig.ResourceServer %>/JsLib/jquery/jquery-min-lastest.js"></script>     <script type="text/javascript" src="<% =WebConfig.ResourceServer %>/JsLib/jquery/ui/jquery-ui-all-min-lastest.js"></script>
    <script type="text/javascript" src="<% =WebConfig.ResourceServer %>/JsLib/jquery/plugin/jquery.validate/jquery.validate.min.js"></script>
    <script type="text/javascript" src="<% =WebConfig.ResourceServer %>/JsLib/jquery/plugin/jquery.validate/localization/messages_cn.js"></script>

    <% if (false)
       {%><script src="~/js/jquery-vsdoc-lastest.js" type="text/javascript"></script>
    <% }%>
    <script type="text/javascript">
        /*========== 必須放在頭部加載的語句塊. 盡量避免使用 ==========*/     </script>     <style type="text/css">
        body
        {
            font-size:12px;
        }
        /* form中顯示文字的label */         .slabel
        {
            width:100px;
            display: -moz-inline-box;
            line-height: 1.8;
            display: inline-block;
            text-align:right;
        }
        /* 出錯樣式 */         input.error, textarea.error
        {
            border: solid 1px #CD0A0A;
        }
        label.error
        {
            color:#CD0A0A;
            margin-left:5px;
        }
        /* 深紅色文字 */         .textred
        {
            color:#CD0A0A;
        }
    </style>
</head>
<body>
    <form id="commentForm" method="get" action="">
    <fieldset style="width:500px;"><legend>表單驗證</legend>
        <p><label for="cname" class="slabel"><em class="textred">*</em> 姓名:</label>
            <input id="cname" name="name" size="25" class="required" minlength="2" />
        </p>
        <p><label for="cemail" class="slabel"><em class="textred">*</em> E-Mail:</label>
            <input id="cemail" name="email" size="25"/>
        </p>
        <p><label for="curl" class="slabel">網(wǎng)址:</label>            
            <input id="curl" name="url" size="25" class="url" value="" />
        </p>
        <p><label for="ccomment" class="slabel"><em class="textred">*</em> 內(nèi)容:</label>
            <textarea rows="2" id="ccomment" name="comment" cols="20" class="required" style="height:80px;"></textarea>
        </p>
        <p style="text-align:center;">
            <input class="submit" type="submit" value="提交" />
        </p>
    </fieldset>
    </form>
    <script type="text/javascript">
       /*==========用戶自定義方法==========*/        /*==========事件綁定==========*/        $(function()
       {

       });

       /*==========加載時執(zhí)行的語句==========*/        $(function()
       {
           $("#commentForm").validate(
           {
               errorClass: "error",
               submitHandler: function(form)
               {
                   //如果想提交表單, 需要使用form.submit()而不要使用$(form).submit()                    alert("submitted!");
               },
               rules: {
                   //為name為email的控件添加兩個驗證方法:required()和email()                    email: { required: true, email: true }
               },
               messages: {
                   //為name為email的控件的required()和email()驗證方法設置驗證失敗的消息內(nèi)容                    email: {required:"需要輸入電子郵箱", email:"電子郵箱格式不正確"}
               }

           });
       });        
    </script> </body> </html>

 

2. 實例講解

(1) 驗證方法

驗證方法是驗證某一個控件是否滿足某些規(guī)則的方法, 返回一個boolean值. 比如email( ) 方法驗證內(nèi)容是否符合email格式, 符合則返回true. 下面是類庫中email方法的源代碼:

        // http://docs.jquery.com/Plugins/Validation/Methods/email         email: function(value, element) {
            // contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/             return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);
        },

我們在:

http://docs.jquery.com/Plugins/Validation

中的 List of built-in Validation methods 一節(jié)中列出了所有內(nèi)置的驗證方法. 同時插件還提供了additional-methods.js 文件, 里面包含了更多的驗證方法, 引入后既可啟用.

(2) 驗證消息

驗證消息就是驗證方法失敗后顯示的文字內(nèi)容. 驗證消息一定關聯(lián)在某一個驗證方法上, 并且全局的驗證消息保存在jQuery.validator.messages 屬性中.

默認的validate類庫自帶英文驗證消息:

    messages: {
        required: "This field is required.",    
        //...     });


上面說明當required驗證方法驗證失敗是, 顯示"This field is required."這條消息.

在下載文件的localization文件夾中, 包含了各國語言的基本驗證消息, 如同本實例一樣引入不同的語言文件即可實現(xiàn)語言切換:

<script type="text/javascript" src="<% =WebConfig.ResourceServer %>/JsLib/jquery/plugin/jquery.validate/localization/messages_cn.js"></script>


 

語言文件的內(nèi)容舉例:

jQuery.extend(jQuery.validator.messages, {
        required: "必選字段",
        //... });

 

現(xiàn)在必填項的問題提示就變成了中文.

除了全局默認的驗證消息, 也可以為某一個表單元素設置特有的驗證消息, 比如本文實例中, 為email元素設置了特有的驗證消息:

               messages: {
                   //為name為email的控件的required()和email()驗證方法設置驗證失敗的消息內(nèi)容                    email: {required:"需要輸入電子郵箱", email:"電子郵箱格式不正確"}

 

options的messages屬性可以針對某一個表單元素設置驗證消息, 第一個email表示email元素, 值是一個集合, required就表示required驗證函數(shù), 第二個email表示是email驗證函數(shù).

(3)驗證規(guī)則

驗證規(guī)則就是這樣的語意語句: 在元素A上, 使用 驗證方法A 和 驗證方法B 進行驗證.

驗證規(guī)則將元素與驗證方法關聯(lián)起來, 因為驗證方法同時也關聯(lián)了驗證消息, 所以元素與消息也關聯(lián)了起來.

為一個元素添加驗證規(guī)則有多種方式.

本實例的"姓名"元素使用了CSS樣式規(guī)則和元素屬性規(guī)則:

<input id="cname" name="name" size="25" class="required" minlength="2" />

class元素屬性設置元素的CSS樣式類, 因為樣式類中添加了required類,  所以會和required()驗證函數(shù)關聯(lián). 這種規(guī)則叫做CSS樣式規(guī)則.

minlength元素屬性也會自動和minlength()驗證函數(shù)關聯(lián), 這種規(guī)則叫做元素屬性規(guī)則.

另外還可以通過編程的方式進行關聯(lián):

               rules: {
                   //為name為email的控件添加兩個驗證方法:required()和email()                    email: { required: true, email: true }
               },

上面的語句表名為email表單對象添加了required()和email()驗證函數(shù).

(4)  表單提交

默認情況下, 當驗證函數(shù)失敗時表單不會提交.

但是可以通過添加class="cancel"的方式讓提交按鈕跳過驗證:

<input type="submit" class="cancel" name="cancel" value="Cancel" />


當表單提交時, 會觸發(fā)options中submitHandler屬性設置的函數(shù):

               submitHandler: function(form)
               {
                   //如果想提交表單, 需要使用form.submit()而不要使用$(form).submit()                    alert("submitted!");
               },

此函數(shù)的簽名同上.  我們可以在這個函數(shù)中,  編寫在表單提交前需要處理的業(yè)務邏輯.

需要注意當最后以編程的方式提交表單時, 一定不要使用jQuery對象的submit()方法, 因為此方法會觸發(fā)表單驗證,并且再次調(diào)用submitHandler設置的函數(shù), 會導致遞歸調(diào)用.

此函數(shù)的參數(shù)form就是表單對象, 用途就是不進行驗證提交表單:form.submit()

(5) DEBUG模式

在開發(fā)階段我們通常不希望表單被真正提交,  雖然可以通過本實例中重寫submitHandler函數(shù)來實現(xiàn), 但是還有更好的方式, 我們可以在submitHandler函數(shù)完成正式提交的邏輯, 然后通過設置options的debug屬性, 來達到即使驗證通過也不會提交表單的目的:

$(".selector").validate({
   debug: true })

(6) 多表單驗證

有時會在一個頁面上出現(xiàn)多個Form, 因為validate控件是針對form對象進行包裝的, 所以我們可以控制哪些form對象需要驗證.

同時為了方便一次設置頁面上所有的應用了validate控件的form對象,  提供了 jQuery.validator.setDefaults 函數(shù)讓我們可以一次設置所有的默認值:

jQuery.validator.setDefaults({ 
    debug: true 
});

 

 

四.自動完成插件 autocomplete

autocomplete插件能幫助我們實現(xiàn)類似于Google Suggest的效果:

image

插件首頁:

http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

插件文檔:

http://docs.jquery.com/Plugins/Autocomplete

配置說明:

http://docs.jquery.com/Plugins/Autocomplete/autocomplete#toptions

1.應用實例

本實例演示的是使用autocomplete完成對輸入城市的自動提示效果,如圖:

image

實例代碼:

<%@ Page Language="C#" %> <!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 id="Head1" runat="server">     <title>jQuery PlugIn - 自動完成插件實例 AutoComplete </title>     <!--black-tie,blitzer,blitzer,dot-luv,excite-bike,hot-sneaks,humanity,mint-choc,redmond,smoothness,south-street,start,swanky-purse,trontastic,ui-darkness,ui-lightness,vader-->     <link rel="stylesheet" type="text/css" href="<%=WebConfig.ResourceServer +"/JsLib/jquery/themes/redmond/style.css"%>" />     <link rel="stylesheet" type="text/css" href="<%=WebConfig.ResourceServer +"/JsLib/jquery/plugin/jquery.autocomplete/jquery.autocomplete.css"%>" />     <script type="text/javascript" src="<% =WebConfig.ResourceServer %>/JsLib/jquery/jquery-min-lastest.js"></script>     <script type="text/javascript" src="<% =WebConfig.ResourceServer %>/JsLib/jquery/ui/jquery-ui-all-min-lastest.js"></script>
    <script type="text/javascript" src="<% =WebConfig.ResourceServer %>/JsLib/jquery/plugin/jquery.autocomplete/jquery.autocomplete.min.js"></script>
    <% if (false)
       {%><script src="~/js/jquery-vsdoc-lastest.js" type="text/javascript"></script>
    <% }%>
    <script type="text/javascript">
        /*========== 必須放在頭部加載的語句塊. 盡量避免使用 ==========*/     </script>     <style type="text/css">
        body
        {
            font-size: 12px;
        }

        .formLabel{float: left; width: 150px; text-align:right;}
        .formInput{float: left;}
    </style>
</head>
<body>
    <!-- Demo. 應用AutoComplete插件 -->
    <div class="ui-widget ui-widget-content ui-corner-all" style="width: 700px; padding: 5px;">
        <h3>
            Demo. 應用AutoComplete插件 </h3>
        <br style="clear: both" />
        <div class="formLabel">
            <label for="inputCityName">請輸入城市拼音和漢字:</label>
        </div>
        <div class="formInput">
            <input id="inputCityName" name="inputCityName" type="text" />
        </div>
        <br style="clear:both" />
        <br style="clear: both" />
        <div class="formLabel">
            <label for="inputCityName">城市ID:</label></div>
        <div class="formInput">
            <input id="inputCityId" name="inputCityId" type="text" /></div>
        <br style="clear: both" />
        <br style="clear: both" />
    </div>
    <script type="text/javascript">
        /*==========用戶自定義方法==========*/         //城市數(shù)據(jù)         var cityList;
        //autocomplete選項         var options = {
            minChars: 1,
            max: 500,
            width: 250,
            matchContains: true,
            formatItem: function(row, i, max)
            {
                return i + "/" + max + ": \"" + row.CityNameEn + "\" [" + row.CityName + "]";
            },
            formatMatch: function(row, i, max)
            {
                return row.CityNameEn + " " + row.CityName;
            },
            formatResult: function(row)
            {
                return row.CityName;
            }            
        };
        //autocomplete初始化函數(shù)         function initAutoComplete(data)
        {
            cityList = data;
            $("#inputCityName").autocomplete(cityList, options);
            $("#inputCityName").result(function(event, data, formatted)
            {
                $("#inputCityId").val(data.ElongCityId);
            });                    
        }

        /*==========事件綁定==========*/         $(function()
        {
        });

        /*==========加載時執(zhí)行的語句==========*/         $(function()
        {
            //加載城市數(shù)據(jù), 并在回調(diào)函數(shù)中用返回的數(shù)據(jù)初始化autocomplete             $.getJSON("cityinfo.htm", null, initAutoComplete)  
        });        
    </script> </body> </html>

 

2. 實例講解

(1)準備數(shù)據(jù)源

首先要準備實現(xiàn)自動建議的數(shù)據(jù)源. 本實例是通過發(fā)送Ajax請求獲取JSON對象. autocomplete()方法支持兩個參數(shù), 第一個是data, 第二個是options.

其中data參數(shù)可以使本實例中的一個數(shù)據(jù)變量, 也可以是一個url. 如果是url則會每次都調(diào)用Ajax請求獲取數(shù)據(jù).

為了效率我傾向于在數(shù)據(jù)量允許的情況下, 在頁面加載后使用Ajax獲取全部的數(shù)據(jù), 然后使用傳遞數(shù)據(jù)變量給autocomplete組件. 如實例中所示. 除非數(shù)據(jù)特別巨大無法再客戶端加載,  則只能每次都使用發(fā)送Ajax請求從服務器端獲取部分數(shù)據(jù). 但是這會對服務器造成負擔.

(2) 設置關鍵函數(shù)

雖然options是可選項, 但是對于我們的數(shù)據(jù)源cityList是一個多屬性對象, 所以必須設置下面幾個關鍵的配置項后才能夠使用:

formatItem

對匹配的每一行數(shù)據(jù)使用此函數(shù)格式化, 返回值是顯示給用戶的數(shù)據(jù)內(nèi)容.

函數(shù)簽名:

function(row, rowNum, rowCount, searchItem)

參數(shù)說明:

row: 當前行. the results row,

rowNum: 當前行號,從1開始.(注意不是索引,索引從0開始) the position of the row in the list of results (starting at 1),

rowCount: 總的行號 the number of items in the list of results

searchItem: 查詢使用的數(shù)據(jù), 即formatMatch函數(shù)返回的數(shù)據(jù)格式的內(nèi)容. 我們在formatMatch函數(shù)中會設置程序內(nèi)部搜索時使用的數(shù)據(jù)格式,這個格式和給用戶展示的數(shù)據(jù)是不同的.

formatMatch

對每一行數(shù)據(jù)使用此函數(shù)格式化需要查詢的數(shù)據(jù)格式. 返回值是給內(nèi)部搜索算法使用的. 實例中用戶看到的匹配結果是formatItem中設置的格式, 但是程序內(nèi)部其實只搜索城市的英文和中文名稱, 搜索數(shù)據(jù)在formatMatch中定義:

return row.CityNameEn + " " + row.CityName;


函數(shù)簽名:

function(row, rowNum, rowCount,)

參數(shù)說明同上

formatResult

此函數(shù)是用戶選中后返回的數(shù)據(jù)格式. 比如實例中只返回城市名給input控件:

return row.CityName;


函數(shù)簽名:

function(row, rowNum, rowCount,)

參數(shù)說明同上

(3) 為控件添加Result事件函數(shù)

上面3個函數(shù)無法實現(xiàn)這類要求: 雖然只返回城市名稱, 但是查詢時使用城市ID, 選中一個城市后需要將城市ID存儲在一個隱藏域中.

所以autocomplete控件提供了result事件函數(shù), 此事件會在用戶選中某一項后觸發(fā):

            $("#inputCityName").result(function(event, data, formatted)
            {
                $("#inputCityId").val(data.ElongCityId);
            }); 

函數(shù)簽名:

function(event, data, formatted)

參數(shù)列表:

Result事件會為綁定的事件處理函數(shù)傳遞三個參數(shù):

event: 事件對象. event.type為result.

data: 選中的數(shù)據(jù)行.

formatted:   雖然官方的解釋應該是formatResult函數(shù)返回的值, 但是實驗結果是formatMatch返回的值. 在本實例為: "Beijing  北京".

(4) 匹配中文

當前版本的autocomplete控件對中文搜索存在Bug, 原因是其搜索事件綁定在keydown事件上, 當使用中文輸入法輸入"北"字時沒有任何提示. 我對原庫做了修改, 將keydown事件修改為keyup事件, 即可完成對中文的智能提示搜索. 另外主要需要將"matchContains"配置項設置為"true", 因為我們的搜索格式是"Beijing 北京", 默認只匹配開頭的字符.

(5) 更多配置項

關于更多的配置項, 請參考官方文檔:

http://docs.jquery.com/Plugins/Autocomplete/autocomplete#toptions

(6) 更多事件

除了上面介紹的autocomplete()和result()函數(shù), 還有如下函數(shù):

search( ) : 激活search事件

flushCache( ) : 清空緩存

setOptions( options ) : 設置配置項

 

五.總結

本文詳細介紹了表單驗證插件和自動完成插件, 目前大家可以搜索到很多的插件應用, 或者上千的插件列表, 但是卻找不到詳細的使用文檔. 插件用起來簡單但是真正的靈活應用卻不容易, 除了要翻越英文文檔學習基本的使用, 還要花很長時間了解各個參數(shù)的作用, 如何配合使用等. 并且在上面做二次開發(fā)的難度相對較大, 插件的核心代碼多沒有注釋并且復雜,  要在其中尋找邏輯關系要花費很多時間和精力. 本文介紹的兩個插件更多的細節(jié)請參考官方文檔, 地址都在一開始為大家提供了.

后續(xù)文章我決定先進行jQuery技巧和javascript必備知識的講解,  我們很少開發(fā)自定義插件所以將開發(fā)插件篇放在最后.

 

本章節(jié)代碼下載:

http://files.cnblogs.com/zhangziqiu/Code-jQueryStudy-11.rar

 

 


出品公司:

藍藍設計(北京蘭亭妙微科技有限公司)是一家專注而深入的設計機構 ,為期望卓越的國內(nèi)外企業(yè)提供有效的視覺設計、ui界面設計、網(wǎng)站建設、用戶體驗服務,涉及互聯(lián)網(wǎng)、IT軟件、電子、銀行、保健品等多個行業(yè),并建立了良好的口碑,積累了豐富的經(jīng)驗。 
全國統(tǒng)一服務熱線  400-608-6026  QQ:896757335

 

日歷

鏈接

個人資料

藍藍設計的小編 http://www.73404.com.cn

存檔

主站蜘蛛池模板: 日本xxxxxxxxx18| 91视频免费网址 | www激情网com| 国产成人免费ā片在线观看 | 国产精品51麻豆cm传媒的特点 | 国产999精品久久久久久绿帽 | julia无码中文字幕一区 | 99精品国产成人一区二区 | 无码国产精品久久一区免费 | 一品二品三品中文字幕 | 免费人成视频x8x8 | 亚洲午夜网站 | 亚洲日韩精品无码专区加勒比 | av成人资源 | 久久国产精品久久国产精品 | 日日噜噜夜夜狠狠视频 | 在线观看日韩一区二区 | 欧美精品性视频 | 国产综合在线播放 | 国产精品视频yjizz免费 | 天天夜碰日日摸日日澡性色av | 亚洲欧美激情国产综合久久久 | 久久综合欧美 | 国产亚洲精品久久久久久大师 | 夜夜高潮天天爽欧美国产亚洲一区 | 久久国产秒 | 亚洲日本韩国欧美云霸高清 | 噜噜久久噜噜久久鬼88 | 亚洲伊人成综合网 | 国产午夜一区二区三区 | 国产精品一级二级三级 | 操操av| 九九久久在线看 | 亚洲精品久久久久一区二区三区 | 国内精品人妻无码久久久影院蜜桃 | 免费在线观看污网站 | 欧美区一区二区 | 91在线免费视频观看 | 天天综合亚洲 | 精品国产免费观看 | 中文字幕高清免费日韩视频在线 | 中文字幕高清在线免费播放 | 久久久久夜 | 成人av网站在线观看 | 91欧美一区二区三区 | 日韩在线网址 | 成人动漫免费观看 | 奇米成人影视 | 黄色小视频在线播放 | 亚洲春色av无码专区在线播放 | 国产精品4huwww| 亚洲综合二 | 国产高清精品软件丝瓜软件 | 青青草综合 | 日韩少妇诱惑 | 国产欧美精品一区二区三区四区 | 91精品视频在线播放 | 国产成人三级一区二区在线观看一 | 亚洲国产成人精品无码区二本 | 国产成人亚洲综合无码 | 免费观看国产黄色片 | 国产999精品成人网站 | 国产精品理论片 | 五月婷婷av | 极品美女极度色诱视频在线 | 亚洲综合国产一区二区三区 | 天天躁日日躁狠狠躁欧美老妇小说 | 在线观看免费视频黄 | 狠狠色成色综合网 | 99re8在线精品视频免费播放 | 中文字幕在线播放不卡 | 国产成人久久久 | 欧美另类交在线观看 | 妲己艳史淫片免费看 | 1024av在线 | 清纯小美女主播流白浆 | 亚州精品天堂中文字幕 | 国产女人的高潮国语对白 | 3bmm在线观看视频免费 | 美女久久久久久久久久 | 国产日韩欧美综合在线 | 国产日韩精品一区二区三区在线 | 天堂视频网 | 黄色片在哪看 | 丰满亚洲大尺度无码无码专线 | 2021亚洲爆乳无码专区 | 精品久久在线观看 | 亚洲欧美日韩一区二区三区在线 | 日韩黄色片网站 | 日本人三级 | 嫩草精品福利视频在线观看 | 成人做爰69片免费 | 日本丰满的人妻hd高清在线 | 中文字幕亚洲乱码熟女在线 | 久久无吗视频 | 婷婷综合在线视频 | 国产精选免费进入 | 欧美一级淫片免费 | 69xxx中国| 欧美日韩中文字幕在线播放 | 成人黄色av | 国产婷婷一区二区三区 | 粉嫩av一区二区三区免费野 | 国产成人无码免费看片软件 | 国产免费叼嘿网站免费 | 少妇下蹲露大唇无遮挡 | 99热一区二区 | 成人做爰视频www | 成人免费影视网站 | 欧美精品一二 | 国产亚洲成av人片在线观看 | av黄在线| 亚洲m码 欧洲s码sss222 | 国产精品美女久久久 | sm调教小sao货叫主人语录 | 色综合天天综合狠狠爱 | 久久久久久久一区二区 | 伊人论坛 | 免费不卡av | 国产乱国产乱 | 日本另类αv欧美另类aⅴ | 在线a视频网站 | 天堂一码二码三码四码区乱码 | 日日爱夜夜爱 | 国内三级视频 | 99热在线看 | 李丽珍裸体午夜理伦片 | 欧美毛片视频 | 又粗又长又大又爽又黄少妇毛片 | 狠狠色噜噜综合社区 | 男女吃奶做爰猛烈紧视频 | 亚洲精品国产一区 | 国产婷婷成人久久av免费高清 | 国产精品久久久久久久久免费桃花 | 无码人妻丰满熟妇区五十路百度 | 国产精品又黄又爽又色无遮挡 | 中文字幕国产精品 | 午夜三级做爰视频在线看 | 国产肉体xxxx裸体784大胆 | 久久久国产视频 | 97超碰在线免费 | 黄色免费网站在线看 | 少妇性l交大片久久免费 | 国产精品久久婷婷 | 亚洲国产婷婷香蕉久久久久久 | 日本黄网站三级三级三级 | 亚洲欧洲av在线 | 国产女主播在线一区二区 | 青娱乐超碰在线 | 99国产精品99| 黄网在线播放 | 精品在线一区 | 久久免费视频精品 | 鲁一鲁在线 | 1024日韩| 欧美日韩国产三区 | 狠狠色噜噜狠狠狠888米奇视频 | 色视频网站在线 | 亚洲精品一区中文字幕乱码 | 久久久888 | 综合激情在线 | 漂亮人妻被中出中文字幕久久 | 激情五月中文字幕 | 免费毛片大肚孕妇孕交av | 亚洲国产精品无码久久久秋霞1 | 永久免费无码av网站在线观看 | 久久一区亚洲 | 精品国产乱码久久久久久口爆 | 蜜臀av亚洲一区二区 | 91丨九色丨国产在线观看 | 一区在线不卡 | 国产日本一区二区 | 中文字幕日韩精品有码视频 | 91麻豆精品国产91久久久久久久久 | youjizz亚洲 | 精品国产一区二区三区av 性色 | aaa大片十八岁禁止 aa爱做片免费 | 日韩成人无码 | 欧美一区二区三区免费视频 | 台湾swag在线播放 | 国产综合内射日韩久 | 久久久久久伦理 | 日本在线小视频 | 亚洲 美腿 欧美 偷拍 | heyzo朝桐光一区二区 | 国产清纯白嫩初高生视频在线观看 | 日韩有码一区 | 国产激情视频一区 | 久久久无码精品一区二区三区蜜桃 | 男男一级淫片免费播放 | 久久久久久久国产免费看 | 少妇性i交大片免费 | 少妇毛茸茸bbw高清 少妇免费毛片久久久久久久久 | 欧美视频你懂的 | 99精品免费在线观看 | 中文字幕女同女同女同 | 中文在线字幕 | 色五月色开心色婷婷色丁香 | 亚洲日韩乱码一区二区三区四区 | 日韩精品免费看 | 久久嫩草精品久久久精品才艺表演 | 亚洲国产成人a精品不卡在线 | 黑人巨大精品欧美一区二区桃花岛 | 91高清国产 | 亚洲精选一区二区三区 | 在线观看麻豆av | 国产69精品久久777的优势 | 久久久久www | www奇米影视com | 欧美视频在线观看一区 | 国产麻豆9l精品三级站 | 国产亚洲精品久久久久久无几年桃 | 亚洲成人黄色影院 | 开心激情站 | 人人爽人人澡人人人妻 | 日本欧美在线观看视频 | 国产精品自在在线午夜免费 | 国产欧美日韩va另类在线播放 | 亚洲伊人伊色伊影伊综合网 | 成av免费大片黄在线观看 | 国产亚洲精品岁国产微拍精品 | 免费看的黄色网 | 国产精品30p | 久久密桃 | 麻豆精品乱码一二三区别蜜臀在线 | 国产又黄又猛的视频 | 久久久久久久亚洲国产精品87 | 亚洲人成在线影院 | 台湾女老板性三级 | 亚洲高清在线观看 | 亚洲国产123 | 免费做爰猛烈吃奶摸视频在线观看 | 性做久久久| 色婷婷午夜 | 老女人综合网 | 中出视频在线观看 | av片在线观看免费 | 91亚洲日本aⅴ精品一区二区 | 日本国产一级片 | 无码精品黑人一区二区三区 | 鲁鲁狠狠狠7777一区二区 | 国产亚洲精品美女久久久久 | 亚洲五月花 | 久久第一页 | 成人性生交大片免费看在线播放 | 日韩av免费 | 国产精品老热丝在线观看 | 欧美日韩水蜜桃 | 日韩在线aⅴ免费视频 | 麻豆传媒网站在线观看 | 中文毛片无遮挡高潮免费 | 一卡二卡三卡在线观看 | 色偷偷888欧美精品久久久 | 毛茸茸亚洲孕妇孕交片 | 亚洲天堂视频一区 | 成人在线观看网址 | 中文在线字幕免 | 日日干日日插 | 狠狠操欧美 | 亚洲精品乱码久久久久久写真 | 日本三级在线 | 黄色片网站在线播放 | 国产亚洲欧洲 | 中文字幕丰满人孑伦 | 欧美巨大巨粗黑人性aaaaaa | 日日噜噜夜夜狠狠va视频v | 国精产品一品二品国精在线观看 | 欧美日韩国产成人高清视频 | 91丨九色丨蝌蚪丨老板 | 免费无码又爽又刺激高潮软件 | 无码人妻一区二区三区在线视频 | 久久久久逼 | 成人ay | 97一区二区国产好的精华液 | 强制高潮xxxxhd日本 | 日本三级韩国三级欧美三级 | 一本一道久久a久久精品综合蜜臀 | 天天艹天天射 | 亚洲自偷自拍另类第1页 | 中国做受xxxxxaaaa | 亚洲综合一区二区三区葵つかさ | 污污免费观看 | 精品国产国产综合精品 | 999在线观看精品免费不卡网站 | 国产精品久久久久久模特 | 亚洲精品成人网 | 伊人网在线观看 | 日韩三级一区二区三区 | 黄网视频在线观看 | 99综合网 | 久久久久久久久久久丰满 | av导航在线观看 | 全部免费播放在线毛片 | 国产伦精品一区二区三区免费 | 国产欧美精品区一区二区三区 | 91精品在线免费观看 | 欧美亚洲国产成人 | 污污视频免费网站 | 校园春色亚洲色图 | 91xxx高清在线 | 欧美成人aa | 黄 色 成 人小短文 黄色a v视频 | 国产精品图片 | 国产成人观看 | 九九av在线| 欧美h网站 | 国语自产精品视频在线看 | 顶弄h校园1v1| 日韩三级中文字幕 | 最新av在线播放 | 免费看欧美一级特黄a大片 免费看欧美中韩毛片影院 免费看片91 | 一本加勒比hezyo国产 | 在线观看老湿视频福利 | 中文字幕中文字幕 | 亚洲一区| 国产精品免费大片 | 欧美色视频网站 | 日韩精品极品 | 国产娇喘精品一区二区三区图片 | 国产日韩欧美自拍 | 午夜成人理论无码电影在线播放 | 丰满岳乱妇在线观看视频国产 | 337p日本大胆噜噜噜鲁 | 高清国产在线观看 | 偷拍中年夫妇激情嗷嗷叫 | 91精品国产91久久久久久 | 沦为黑人姓奴的少妇 | 久久久久香蕉 | 182tv国产免费观看软件 | 性色av无码不卡中文字幕 | 久久精品久久99 | 伦理片免费完整片在线观看 | 人人人草| 久久久精品久久日韩一区综合 | 日韩v91综合区 | 欧美美女在线观看 | 日韩播放| 国产理论片 | 成人软件在线观看 | 精品人妻系列无码人妻漫画 | 国产在线毛片 | 午夜在线视频观看 | 日韩久久久久久久久 | 日韩午夜影院 | 秋霞影院一区二区三区 | 天天想夜夜爽 | 亚洲最新av在线 | 国产在线视欧美亚综合 | 国产天码青椒老色批青椒影视 | 热久久91 | 欧美成人手机视频 | 97综合网| 一a一片一级一片啪啪 | 伊人9| 中文字幕在线观看英文怎么写 | 国产一区二区精品 | 蜜桃久久av一区 | 日本中国内射bbxx | 国产精品视频 | 欧美午夜在线观看 | 天天做日日做 | 蜜乳av国精产品一二三产区 | 久久久久久国产精品免费免费男同 | 91精品国产色综合久久不卡98最新章节 | 色哟哟在线观看 | www色播com | 国产a∨精品一区二区三区不卡 | 国精产品一二三区传媒公司 | 国产精品一级 | 性一交一乱一乱一视频 | 寡妇高潮一级视频免费看 | 久久精品久久久久久噜噜老黄 | 日本高清免费aaaaa大片视频 | 国产婷婷成人久久av免费高清 | 亚洲裸男自慰gv网站 | 亚洲福利网址 | 香蕉久久夜色精品国产更新时间 | 天天艹逼| 99久久精品日本一区二区免费 | 波多野结衣在线播放 | 欧美一区亚洲一区 | 日韩欧美成人一区二区三区 | 成人av一区二区兰花在线播放 | 大象传媒成人在线观看 | 天天玩天天干天天操 | www天天干com| 亚洲天堂女人 | 亚洲爆乳大丰满无码专区 | 色综合九九 | 日韩视频在线免费观看 | 精品欧美一区二区三区 | 野花国产精品入口 | www.色天使 | 欧美视频在线一区二区三区 | 看免费黄色一级片 | 国产亚洲欧洲 | 国产色影院 | 久久久男人的天堂 | 一区二区三区综合 | 在线日韩成人 | 91丨porny丨国产丝袜福利 | 欧美性大战久久久久久久蜜桃 | 亚洲精品一区二区精华 | 欧美色成人综合影院 | 人妻体体内射精一区二区 | 奇米影视777第四色 奇米影视777四色 | 在线观看av大片 | 自拍视频啪 | 久久精品国产清自在天天线 | 日韩av在线中文字幕 | 欧美一区二区三区国产 | 亚洲人成网站999久久久综合 | 91亚洲一区| 人人做| 成年人香蕉视频 | 天天操天天舔天天干 | 国产做爰免费观看 | 男男野外做爰全过程69 | 午夜剧场免费视频 | a级黄色片视频 | 国产a做爰全过程片 | 羞羞麻豆国产精品1区2区3区 | 日本人与禽zozzo小小的几孑 | 不卡免费av | 免费人成视频 | 波多野结衣一区二区三区中文字幕 | 国产成年人 | 可以直接免费观看的av网站 | 夜夜躁狠狠躁日日躁麻豆 | 91亚洲精品久久久蜜桃 | 欧美午夜精品一区二区蜜桃 | 精品探花 | 色欲av永久无码精品无码蜜桃 | 三级全黄做爰龚玥菲在线 | 亚洲婷婷免费 | 91高清视频在线 | 青青草久久伊人 | 亚洲综合网在线观看 | 亚洲老妇交性506070 | 欧美日韩精品在线观看视频 | 成人高清视频免费观看 | 国产在线观看www | 国产精品久久久久久久久久久久久久久久久久 | 午夜剧场免费在线观看 | www.youjizz国产| 色五月激情五月 | 亚洲一区二区三区四区五区中文 | 久久成人在线视频 | 精品国产一级片 | av网站大全在线观看 | 国产乱子伦一区二区三区 | 国产三级高清一区二区 | 极品少妇xxxx精品少妇偷拍 | 麻花传媒在线mv免费观看视频 | 亚洲伊人伊色伊影伊综合网 | 天天做天天爱天天综合色 | 亚洲伊人伊色伊影伊综合网 | 欧美日韩免费一区二区三区 | 国产黑丝精品 | 美脚の诱脚舐め脚责91 | 波多野结衣一区 | 婷婷深爱激情 | 精品无码一区二区三区爱欲九九 | √天堂中文官网8在线 | 日本一区二区三区免费播放 | 久久久日韩精品一区二区三区 | 成人午夜精品无码区 | www.黄色国产 | 快色视频在线观看 | 久久伊人色 | 久久天天躁夜夜躁狠狠85麻豆 | 99色| 亚洲欧美日韩第一页 | 天堂久久精品忘忧草 | 国产亚洲精品久久久闺蜜 | 后进极品白嫩翘臀在线视频 | 欧美色精品| 国产精品盗摄!偷窥盗摄 | 99久久无色码中文字幕人妻 | 欧美精品一区二区久久久 | 亚洲成av人片不卡无码 | 色网站在线看 | 国产成人亚洲日韩欧美 | 日韩中文字幕2019 | 一色桃子av一区二区 | av人摸人人人澡人人超碰妓女 | 欧美一二三 | 美女胸18大禁视频网站 | 国产对白叫床清晰在线播放 | 国产大屁股视频免费区 | 日韩精品三级 | 久久婷婷色综合 | 国产毛片久久久久久国产毛片 | 日本人操比 | 特级淫片裸体免费看 | 亚洲综合另类小说色区 | 久久视频在线观看 | 国产精自产拍久久久久久蜜 | 亚洲毛片在线看 | 欧美国产一区二区三区激情 | 极品少妇露脸一区二区 | 国产婷婷在线观看 | 91麻豆精品传媒一二三区 | 色人天堂| 四只虎影院在线免费 | 国产乱人伦av麻豆网 | 国产精品原创 | 亚洲综合另类小说色区色噜噜 | 特黄三级又爽又粗又大 | √天堂中文官网8在线 | 久久久中日ab精品综合 | 美女黄视频在线观看 | 亚洲jizzjizzlivesex | 国产精品久久久久久久竹霞 | 日本天堂在线 | 日本一区二区不卡在线观看 | 精品无码av一区二区三区 | 亚洲成年人专区 | 无码中文字幕av免费放 | 国产视频一二区 | 国产精久 | 亚洲中文字幕久久久一区 | 少妇无码吹潮 | 亚洲精品456在线播放牛牛影院 | 在线观看不卡一区 | 国产69精品久久久久人妻刘玥 | 日本aaaa大片免费观看入口 | 一区二区三区四区蜜桃 | 性色欲情网站 | 国产精品18久久久久久麻辣 | 亚洲热在线观看 | 欧美日韩综合一区二区 | 女女同性女同一区二区三区av | 天堂a在线 | 日本精品视频在线观看 | 亚洲乱子伦 | 国语av在线| 天美乌鸦星空mv | 香蕉视频免费在线看 | 色在线免费观看 | 欧美在线观看视频一区二区 | 欧美日韩不卡视频 | 日韩三级黄色 | 丁香五香天堂 | 久草女人 | 国产精品99久久久久久一二区 | 国产五区 | 99精品久久久久久久免费看蜜月 | 日本人妻人人人澡人人爽 | 天堂中文字幕av | 亚洲爆乳无码专区 | 国产欧美日韩免费 | 精品一卡二卡三卡四卡 | 国产福利在线视频观看 | 永久免费无码网站在线观看个 | 日韩少妇内射免费播放18禁裸乳 | 亚洲激情网站 | 国产精品免费视频一区二区三区 | q2002日韩午夜伦高清 | 麻豆最新| 国产乱轮视频 | 成人在线手机视频 | 久久曹 | 久久人人爽人人爽人人片av卡 | 激情四射网站 | 亚洲a在线播放 | 精品久久久无码中文字幕天天 | 久久视频在线观看免费 | 99久久国产露脸国语对白 | 午夜精品一区二区三区在线播放 | 欧美大屁股xxxx高跟欧美黑人 | 国产精品福利一区二区 | 久久久婷婷 | 成人免费黄色大片 | 成人精品一区日本无码网站 | www.久久久.com | 东京热加勒比无码少妇 | 欧美成a| 真实的国产乱xxxx在线91 | 欧美美女爱爱视频 | 尤物精品在线观看 | 黑人巨大精品欧美一区二区, | 91精品一久久香蕉国产线看观看新通道出现 | 国产一级久久 | 成人性生活免费看 | 亚洲综合精品视频 | 日本中文字幕不卡 | 国产小呦泬泬99精品 | 午夜国人精品av免费看 | 色婷婷av一区二区三区之红樱桃 | kkkk444成人免费观看 | 玖玖伊人 | 欧美日韩在线观看视频 | 中美性猛交xxxx乱大交3 | 影音先锋亚洲精品 | 婷婷开心激情综合五月天 | 在线a视频网站 | 对白刺激国产子与伦 | 粉嫩av一区二区三区四区五区 | 极品白嫩的小少妇 | 国产精品无码天天爽视频 | 狂野欧美性猛交免费视频 | 97久久免费视频 | 欧美人妖老妇 | 中文字幕色av一区二区三区 | 狠狠色综合网站久久久久久久高清 | 日日摸夜夜添夜夜添国产2020 | 亚洲在线中文字幕 | 久久99操 | 999久久久国产精品消防器材 | 亚洲精品456在线播放狼人 | 蜜臀av人妻国产精品建身房 | 日本中文字幕影院 | 深爱综合网 | 亚洲综合色一区 |