精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
JQuery.Boxy
2011年10月5日
彈出層之1:JQuery.Boxy (二)
《彈出層之1:JQuery.Boxy (一)》中講到了JQuery.Boxy的基本用法,本次講下手動創(chuàng)建實例,new一個boxy對象是很容易的,傳遞一些參數(shù)對象就能滿足不同的需求了。
4.1、手動創(chuàng)建實例
<script type="text/javascript">
$(function() {
$("#a1").click(function() {
//實例化一個Boxy對象
var box1 = new Boxy("<h3>這個參數(shù)是顯示的內容</h3>" //顯示內容
,
{
title: "標題", //對話框標題
modal: false, //是否為模式窗口
afterHide: function(e) { alert("dialog hide"); }, //隱藏時的回調函數(shù)
afterShow: function(e) { alert("dialog show"); }, //顯示時的回調函數(shù)
closeText: "X",   //關閉功能按鈕的標題文字
draggable: true //是否可以拖動
});
box1.resize(300, 100);  //設置對話框的大小
});
});
</script> <p>
<a href="#" id="a1">4.1、手動創(chuàng)建一個實例</a>
</p>
測試發(fā)現(xiàn)modal為true為模式窗口,也就是背景被遮罩時就算設置 draggable: true拖動也是無效的。
5.1、常用對話框—提問框
//提問框
$("#a2").click(function() {
Boxy.ask("鳳姐最漂亮的部分是?",  //問題
["臉皮", "小嘴巴", "知識淵博"], //可選項按鈕
function(val) { alert(val) }, //回調方法
{title:"測試",modal:false}   //boxy屬性設置
);
});     <p>
<a href="#" id="a2">5.1、彈出提問框</a>
</p>
Boxy.ask(question, answers, callback, options)方法的4個參數(shù)question表示提問;answers提問選擇項,一般為數(shù)組;callback為回調方法;options是boxy彈出框的的屬性對象,見4.1。
5.2、常用對話框—警告框
//警告框
$("#a3").click(function() {
Boxy.alert("這是警告信息",   //提示信息
function(val) { alert(val); },   //回調方法
{title:"提示"});  //boxy屬性
}); <p>
<a href="#" id="a3">5.2、警告框</a>
</p>
Boxy.alert(message, callback, options)方法的3個參數(shù)message表示警告信息;callback為回調方法;options是boxy彈出框的的屬性對象,見4.1。
5.3、常用對話框—確認框
//確認框
$("#a4").click(function() {
Boxy.confirm("你確認要看鳳姐的照片嗎?", //確認提示信息
function() { alert("上當了") },  //點擊確認后的回調信息
{ title: "測試", modal: false });   //boxy屬性設置
}); <p>
<a href="#" id="a4">5.3、確認框</a>
</p>
Boxy.confirm(message, callback, options)方法的3個參數(shù)message表示確認提示信息;callback為回調方法,只有點擊確認時才會執(zhí)行;options是boxy彈出框的的屬性對象,見4.1。
6、API參數(shù)
方法:
Boxy.load(url, options)
以一個URL加載內容并以Boxy對話框的形式展現(xiàn)。支持以下的一些選項參數(shù):
類型 - HTTP方法,默認為GET
緩存 - 如果是true,緩存內容連續(xù)通話。相當于緩存選項傳遞到jQuery的Ajax方法。默認:false。
過濾 - jQuery的表達式,用于過濾遠程內容。
(任何其他指定的選項將被傳遞到boxy的構造函數(shù)中)
Boxy.get(element)
返回包含元素的實例,例如:<a href="#" onclick="Boxy.get(this).hide();">關閉對話框</a>
Boxy.ask(question, answers, callback, options)
顯示模式,即非可關閉對話框,允許用戶選擇選項。問題是要顯示給用戶的信息。答案是一個數(shù)組或一切可能的回答的數(shù)列。回調函數(shù)將收到選定的回答,這是否是需要的值或相應的密鑰要根據(jù)一個數(shù)組或答案數(shù)列是否已經(jīng)提供了。options是一種額外的可選設置選項傳遞給對話框的構造函數(shù)。
Boxy.alert(message, callback, options)
顯示模式,非可關閉對話框顯示消息給用戶。
注意:此方法并不是為了取代瀏覽器本地window.alert()函數(shù)提供,因為它沒有能力阻止程序執(zhí)行,在對話框是可見的時候。
Boxy.confirm(message, callback, options)
顯示模式,非可關閉對話框顯示的含有確定和取消按鈕的消息。回調只會在用戶選擇了“確定”時被調用。
注意:此方法并不是為了取代瀏覽器提供的本地window.confirm()函數(shù),因為它沒有能力在對話框可見時阻止程序執(zhí)行的。
Boxy.linkedTo(ele)
返回已通過執(zhí)行器構造函數(shù)選項連接DOM元素的boxy實例。
Boxy.isModalVisible()
返回true如果任何模式對話框是當前可見的,否則返回false。
new Boxy(element, options)
構造函數(shù);創(chuàng)建一個新的boxy對話框。element是對話框的內容;任何有效的參數(shù),jQuery的$()函數(shù)在這里也是有效的。options是一個配置選項的散列,見下面詳細的資料。
estimateSize()
當對話框不可見的時候估計其大小。如果當前對話框可見,不要使用此方法,使用getSize()代替。
getSize()
以數(shù)組的形式[width, height]返回對話框的大小。
getContentSize()
返回對話框內容區(qū)域的大小。默認情況下,指在對話框框架里的一切,不包括標題欄。
getPosition()
以[x,y]數(shù)組形式返回最頂層對話框的左上角坐標。
getCenter()
以[x,y]數(shù)組形式返回最頂層對話框的中心點的坐標。
getInner()
返回一個jQuery對象包裝對話框的內部區(qū)域-框架內包括標題欄一切。
getContent()
返回一個jQuery對象包裝對話框的內容區(qū)域-框架內的一切,不包括標題欄。
setContent(newContent)
設置對話框中的內容,任何對$()有效的參數(shù)也對設置的新內容有效。可鏈接。
moveTo(x,y)
移動對話框到左上角為(x,y)的位置,可鏈接。
centerAt(x,y)
把對話框移動到中心坐標為(x,y)的位置上。
center(axis)
移動對話框,使其在視野的中央。可選參數(shù)axis可以是"x","y"中的任意一個中心軸。可鏈接。
resize(w,h,after)
重新調整對話框的高寬到[w,h],完成后執(zhí)行回調函數(shù),回調函數(shù)將接受Boxy實例作為參數(shù)。可鏈接。
tween(w,h,after)
動畫補間對話框高寬到[w,h],完成后執(zhí)行回調函數(shù),回調函數(shù)將接受Boxy實例作為參數(shù)。可鏈接。
isVisible()
如果當前對話框可見,則返回true,否則返回false。
show()
顯示對話框,可鏈接。
hide(after)
隱藏對話框,after為可選回調函數(shù),完成后執(zhí)行。可鏈接。
toggle()
觸發(fā)對話框的顯隱屬性。可鏈接。
hideAndUnload(after)
在隱藏后立即執(zhí)行卸載。在卸載之前執(zhí)行after回調函數(shù)。可鏈接。
unload()
從DOM中刪除對話框,切斷其與執(zhí)行機構的聯(lián)系,如果有的話。一旦出現(xiàn)一個對話框已被卸載它的任何進一步行動都是未定義的。
toTop()
將當前對話框移動到其他所有對話框的上部。可鏈接。
getTitle()
以HTML的形式返回對話框的標題。
setTitle(t)
設置對話框的標題為t,可鏈接。
屬性:
CSS選擇器
.boxy-wrapper .title-bar
div包裝的自動生成的標題欄
.boxy-wrapper .title-bar h2
標題欄的內容
.boxy-wrapper .title-bar.dragging
拖拽時候的標題欄
.boxy-wrapper .title-bar .close
默認的關閉對話框的執(zhí)行器
.boxy-inner
內部區(qū)域,包括標題欄
.boxy-content
內部區(qū)域,不包括標題欄。這個class類將被自動添加到傳遞給Boxy的構造函數(shù)的任何元素。
.boxy-wrapper .question
通過Boxy.ask()創(chuàng)建的,包含問題文字
.boxy-wrapper .answers
通過Boxy.ask()創(chuàng)建的,包含應答的按鈕
.close
這一class類的任何內容的單擊事件將關聯(lián)到關閉對話框上。
選擇器的外框圓角效果是使用png圖片實現(xiàn)的,如果想更改透明程度,可以使用ps修改圖片;如果不考慮IE6的話,可以使用另一種常用的圓角方法(不用圖片只用css樣式)。
官網(wǎng):http://onehackoranother.com/projects/jquery/boxy/
譯文:http://www.zhangxinxu.com/wordpress/?p=318
本文示例
posted @ 2011-10-05 09:48 張果 閱讀(217) 評論(0)編輯
彈出層之1:JQuery.Boxy (一)
Boxy是一個基于JQuery的彈出層插件,它有相對漂亮的外觀,功能齊全,支持iframe,支持模式窗口但相對于同樣的彈出層插件BlockUI它明顯笨重,但使用不那么方便。
1、下載并修改插件
可以在官網(wǎng)上下載到最新版(http://plugins.jquery.com/files/boxy-0.1.4.zip),到我寫這些文字的時候最新版為0.1.4版,下載解壓后有1個主要的js文件:jquery.boxy.js;1個css文件;還有4個圖片用于構成彈出層的4個圓角。將文件引入系統(tǒng)中,修改boxy.css,將下面的圖片路徑修改為項目中實際的位置,如果設置不對會引起圖片失效,那時就難看了。
/* 將此處的圖片修改為相對于css文件的圖片文件的路徑 */
.boxy-wrapper .top-left { background: url('../images/boxy-nw.png'); }
.boxy-wrapper .top-right { background: url('../images/boxy-ne.png'); }
.boxy-wrapper .bottom-right { background: url('../images/boxy-se.png'); }
.boxy-wrapper .bottom-left { background: url('../images/boxy-sw.png'); }
/* 注意:下面的路徑必須使用絕對路徑或url的形式 */
/*絕對路徑以‘/’開始表示域名,使用時要注意虛擬目錄,沒有可以省略,/域名/圖片在站點中的路徑*/
/*url則是指http://www.xxx.com/xxx.png的形式出現(xiàn)*/
.boxy-wrapper .top-left { #background: none; #filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/boxy-nw.png'); }
.boxy-wrapper .top-right { #background: none; #filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/boxy-ne.png'); }
.boxy-wrapper .bottom-right { #background: none; #filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/boxy-se.png'); }
.boxy-wrapper .bottom-left { #background: none; #filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/boxy-sw.png'); }
2、將插件引用到頁面中
<script src="http://www.cnblogs.com/Contents/JS/jquery-1.5.js" type="text/javascript"></script>
<link href="boxy.css" rel="stylesheet" type="text/css" />
<script src="jquery.boxy.js" type="text/javascript"></script>
3、給匹配的元素綁定boxy行為
<script type="text/javascript">
$(function() {
$(".boxy").boxy();
});
</script>
<a href="#m1" class="boxy" title="這是超鏈接的標題">3.1、點我就會彈出一個對話框</a>
<div id="m1" style="display: none"> 我是超鏈接彈出來的</div>
a標簽中的 title如果不設置,彈出的框將沒有標題且不能拖動;href后面的錨記m1為對應的要彈出的元素id;顯示的元素默認如果設置為none時彈出將設置顯示。
3.2、彈出顯示指定的頁面內容
<script type="text/javascript">
$(function() {
$(".boxy").boxy();
});
</script> <a href="../default.aspx" class="boxy" title="提示">3.2、加載一個文檔,顯示為提示信息</a>
href超鏈接到要彈出顯示內容的文件。
3.3、提交時以確認框形式彈出
<script type="text/javascript">
$(function() {
$(".boxy").boxy();
});
</script>
<form class="boxy"  action="Default.html" method="post">
<input id="Submit1"  type="submit" value="3.3、提交時顯示彈出層"/>
</form>
說明:
1、boxy對話框自動計算出您的內容區(qū)域內本身的大小和位置,沒有必要明確規(guī)定了包裝集的尺寸;
2、上面的簡單使用方法中其實是在間接指定boxy中message屬性的內容,該屬性為彈出框的顯示信息,默認為:“請確認:”
3、每個匹配錨title屬性將被用來作為其相應的對話框的標題
4、message的內容的display屬性都將設置為block(顯示為塊)
下載本文示例
posted @ 2011-10-05 09:27 張果 閱讀(642) 評論(1)編輯
2011年10月1日
彈出層之2:JQuery.BlockUI
JQuery.BlockUI是眾多JQuery插件彈出層中的一個,它小巧(原版16k,壓縮后10左右),容易使用, 功能齊全,支持Iframe,支持Modal,可定制性高也意味他默認謙虛的外表。
jQuery的BlockUI插件可以讓你在使用AJAX時模擬同步行為,鎖定瀏覽器(模式窗口)。當被激活時,它會防止用戶活動的頁面(或頁面的一部分),直到它被禁用。 BlockUI添加元素的DOM,給它的外觀和阻止用戶交互行為。
1、首先引入插件
<script src="jquery.min.js" type="text/javascript"></script>
<script src="JQuery.BlockUI.min.2.39.js" type="text/javascript"></script>
2、調用
<!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>
<script src="jquery.min.js" type="text/javascript"></script>
<script src="JQuery.BlockUI.min.2.39.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$('#Button1').click(function() {
//阻止頁面的用戶的活動
$.blockUI();
});
$('#Button2').click(function() {
//自定義信息內容
$.blockUI({ message: '<h3><img src="busy.gif" /> Just a moment...</h3>' });
});
$('#Button3').click(function() {
//自定義樣式
$.blockUI({ css: { backgroundColor: '#f00', color: '#fff'} });
});
$('#Button4').click(function() {
//定義彈出的信息為頁面的某一個元素
$.blockUI({ message: $('#domMessage') });
});
$('#btnClose').click(function() {
//關閉彈出層
$.unblockUI();
});
$('#Button5').click(function() {
//設置淡入,淡出,自動關閉時間
$.blockUI({ fadeIn: 700, fadeOut: 700, timeout: 2000 });
});
//簡單的氣泡提示
$.growlUI('提示', '刪除成功!');
});
</script>
</head>
<body>
<ol>
<li>阻止頁面的用戶的活動,不會自動消失,請刷新: $.blockUI();
<input id="Button1" type="button" value="測試" />
</li>
<li>自定義消息:
<input id="Button2" type="button" value="測試" />
</li>
<li>自定義樣式:
<input id="Button3" type="button" value="測試" />
</li>
<li>彈出指定的元素,并關閉彈出層(該層可以為隱藏):
<input id="Button4" type="button" value="測試" />
</li>
<li>設置淡入,淡出,自動關閉時間:
<input id="Button5" type="button" value="測試" />
</li>
</ol>
<div id="domMessage" style="text-align: center; width: 200px; height: 50px; border;
1px solid #9cf; padding: 25px; display: none;">
<h3>
Message</h3>
<input id="btnClose" type="button" value="關閉" />
</div>
</body>
</html>
3、樣式修改
jQuery blockUI 提供的默認樣式過于樸素, 可以在每一次調用blockUI() 函數(shù)時進行修改. 也一次直接修改庫文件 jquery.blockUI.js, 修改$.blockUI.defaults 對象相關的代碼:
顯示源碼 // 重寫defaults對象中的屬性
$.blockUI.defaults = {
//彈出的信息
message:  '<h1>Please wait...</h1>',
//定義消息框樣式
// $.blockUI.defaults.css = {};
//默認定義消息框樣式Css樣式
css: {
padding:        0,
margin:         0,
width:          '30%',
top:            '40%',
left:           '35%',
textAlign:      'center',
color:          '#000',
border:         '3px solid #aaa',
backgroundColor:'#fff',
cursor:         'wait'
},
// 遮罩樣式
overlayCSS:  {
backgroundColor: '#000', //顏色
opacity:         0.6 //透明度
},
// 使用$.growlUI完成自動氣泡時的樣式
growlCSS: {
width:    '350px',
top:      '10px',
left:     '',
right:    '10px',
border:   'none',
padding:  '5px',
opacity:   0.6,
cursor:    null,
color:    '#fff',
backgroundColor: '#000',
'-webkit-border-radius': '10px',  //貌似是圓角
'-moz-border-radius':    '10px'
},
// 是否在非IE瀏覽器中使IFrame獲得焦點,未驗證的
forceIframe: false,
// 遮罩層的Z-Index值,越大越在上面
baseZ: 1000,
// 是否居中
centerX: true,
centerY: true,
//是否允許拉大
//短的網(wǎng)頁上。禁用如果你想防止車身高度的變化
allowBodyStretch: true,
//遮罩時是否禁用鍵盤和鼠標事件
bindEvents: true,
// be default blockUI will supress tab navigation from leaving blocking content
// (if bindEvents is true)
//遮罩內容的Tab導航是否可用
constrainTabKey: true,
//淡入時間
fadeIn:  200,
//淡出時間
fadeOut:  400,
// time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock
//自動淡出時間
timeout: 0,
//disable if you don't want to show the overlay
//是否自動遮罩
showOverlay: true,
// if true, focus will be placed in the first available input field when
// page blocking
//自動獲得焦點
focusInput: true,
//抑制FF/Linux的疊加樣式的使用(由于具有不透明的性能問題)
applyPlatformOpacityRules:true,
//調用解封已完成時回調方法;
// onUnblock(element, options)
onUnblock: null
總結:上面的文字個人認為寫的比較爛,但基本的使用沒有問題,詳盡的支持是官網(wǎng):http://www.malsup.com/jquery/block/,這個站還有一些其它插件也值得看看。
本文示例下載
posted @ 2011-10-01 23:01 張果 閱讀(478) 評論(0)編輯
2011年9月27日
彈出層之3:JQuery.tipswindow
tipswindow是一個很一般的JQuery彈出層插件,但使用簡單,有相對漂亮的外觀,代碼比較通俗。下面介紹使用方法:
1、首先引入該插件相關文件,分別是樣式,JQuery庫,該插件
<link href="tipswindown.css" rel="stylesheet" type="text/css" />
<script src="../Contents/JS/jquery-1.5.js" type="text/javascript"></script>
<script src="tipswindown.js" type="text/javascript"></script>
2、修改tipswindow.css文件中圖片的路徑,默認與css文件在同一個目錄下。
3、編寫代碼,如在圖片上設置單擊事件后放大顯示圖片:
<!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>
<link href="tipswindown.css" rel="stylesheet" type="text/css" />
<script src="../Contents/JS/jquery-1.5.js" type="text/javascript"></script>
<script src="tipswindown.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$("#imgTest").click(function() {
tipsWindown("標題:風景", "img:" + this.src, "640", "480", "true", "", "true", "img");
});
/*
function tipsWindown(title, content, width, height, drag, time, showbg, cssName)
title: 窗口標題
content:  內容(可選內容為){ text | id | img | url | iframe }
width: 內容寬度
height: 內容高度
drag:  是否可以拖動(ture為是,false為否)
time: 自動關閉等待的時間,為空是則不自動關閉
showbg: [可選參數(shù)]設置是否顯示遮罩層(0為不顯示,1為顯示)
cssName:  [可選參數(shù)]附加class名稱
*/
});
</script>
</head>
<body>
<img src="../Contents/Images/wallpager/Autumn_A_1.jpg" width="400" height="300" id="imgTest" />
</body>
</html>
其它用法網(wǎng)友總結如下:
1.彈出文本信息提示:
tipsWindown("提示","text:提示信息內容","250","150","true","","true","msg")
2.彈出頁面中的某個ID的html:
tipsWindown("標題","id:testID","300","200","true","","true","id")
3.彈出圖片:
tipsWindown("圖片","img:圖片路徑","250","150","true","","true","img")
4.get加載一個.html文件(也可以是.php/.asp?id=4之類的):
tipsWindown("標題","url:get?test.html","250","150","true","","true","text");
5.加載一個頁面到框架顯示:
tipsWindown("標題","iframe:http://leotheme.cn","900","580","true","","true","leotheme");
6.彈出一個不能拖動且沒有遮罩背景的文本信息層:
tipsWindown("提示","text:提示信息內容","250","150","false","","false","msg")
7.彈出一個不能拖動,三秒鐘自動關閉的層:
tipsWindown("提示","text:提示信息內容","250","150","false","3000","true","msg")
1、下載本文示例2、下載官方最新示例與框架(推薦)
官網(wǎng):http://leotheme.cn/javascript/jquery-plugins-tipswindow-2-0.html
posted @ 2011-09-27 21:31 張果 閱讀(340) 評論(0)編輯
2011年9月5日
JQuery擴展插件Validate
jquery.validate是基于jquery的一個B/S客戶端驗證框架,借助jquery的優(yōu)勢,我們可以迅速驗證一些常見的輸入,大大提高了開發(fā)效率,下面是本人做的學習筆記:
JQuery擴展插件Validate—1基本使用方法
JQuery擴展插件Validate—2通過參數(shù)設置驗證規(guī)則
JQuery擴展插件Validate—3通過參數(shù)設置錯誤信息
JQuery擴展插件Validate—4設置錯誤提示的樣式
JQuery擴展插件Validate—5添加自定義驗證方法
JQuery擴展插件Validate—6radio、checkbox、select的驗證
示例源碼下載
注意:validate只是使驗證變得方便,簡單,本質還是使用js,不論多么強大的js驗證,當用戶把js禁用或使用機器直接發(fā)起請求時都不能確保數(shù)據(jù)的完整性,所有不要把希望寄托在客戶端驗證,個人認為每一個客戶端驗證都要服務器進行再次驗證。
posted @ 2011-09-05 18:06 張果 閱讀(1574) 評論(3)編輯
JQuery擴展插件Validate—6radio、checkbox、select的驗證
radio、checkbox、select的驗證其實方法與前面提到?jīng)]有太大的區(qū)別,但問題是錯誤信息會顯示在同一組的第一個元素后面,效果如下所示:
解決這個問題的辦法是將錯誤信息指定到一個特定的位置,validate()方法的參數(shù)中可以進行自定義,示例代碼如下:
View Code <script type="text/javascript">
jQuery.validator.addMethod("regex",    //addMethod第1個參數(shù):方法名稱
function(value, element, params) {     //addMethod第2個參數(shù):驗證方法,
//驗證方法參數(shù)(被驗證元素的值,被驗證元素,參數(shù))
var exp = new RegExp(params);      //實例化正則對象,參數(shù)為用戶傳入的正則表達式
return exp.test(value);                    //測試是否匹配
},
"格式錯誤");
$(function() {
$("#signupForm").validate(
{
rules: {
txtPassword1: "required",  //密碼1必填
txtPassword2: {    //密碼2的描述多于1項使用對象類型
required: true,  //必填,這里可以是一個匿名方法
equalTo: "#txtPassword1",  //必須與密碼1相等
rangelength: [5, 10],    //長度5-10之間
regex: "^\\w+$"          //使用自定義的驗證規(guī)則
},
txtEmail: "email",   //電子郵箱必須合法
sex: "required"
},
messages: {  //對應上面的錯誤信息
txtPassword1: "您必須填寫",
txtPassword2: {
required: "您必須填寫",
equalTo: "密碼不一致",
rangelength: "長度必須介于{0} 和 {1} 之間的字符串",
regex: "密碼只能是數(shù)字、字母與下劃線"
}
},
//在上例中新增的部分
errorPlacement: function(error, element) { //指定錯誤信息位置
if (element.is(':radio') || element.is(':checkbox')) {  //如果是radio或checkbox
var eid = element.attr('name');  //獲取元素的name屬性
error.appendTo(element.parent());    //將錯誤信息添加當前元素的父結點后面
} else {
error.insertAfter(element);
}
},
debug: false,  //如果修改為true則表單不會提交
submitHandler: function() {
alert("開始提交了");
}
});
});
</script>         <p>
<label for="sex">
性別</label>
<input type="radio" id="rdoFemale" name="sex" />男
<input type="radio" id="rdoMale" name="sex" />女
</p>
運行結果如下:
此外:如果在參數(shù)中加上debug:true則只用于調試表單不會提交到服務器; submitHandler: function() {}將會在表單提交到服務器前執(zhí)行一些操作;用remote可以進行Ajax驗證,好像有個小bug;在使用ASP.NET與validate組合使用時會有一些問題可以參考網(wǎng)友文。
1、在ASP.NET中按鈕都會解析成submit所有都會觸發(fā)驗證,如果想讓某個按鈕不觸發(fā)驗證可以加上這個樣式:class="cancel"
源碼下載
posted @ 2011-09-05 17:35 張果 閱讀(297) 評論(0)編輯
JQuery擴展插件Validate—5添加自定義驗證方法
從前面的示例中不難看出validate中自帶的驗證方法足以滿足一般的要求,對于特別的要求可以使用addMethod(name,method,message)添加自定義的驗證規(guī)則,下面的示例中添加了一個用于正則表達式驗證的擴展驗證的方法,示例如下: <script type="text/javascript">
jQuery.validator.addMethod("regex",  //addMethod第1個參數(shù):方法名稱
function(value, element, params) {     //addMethod第2個參數(shù):驗證方法,參數(shù)(被驗證元素的值,被驗證元素,參數(shù))
var exp = new RegExp(params);     //實例化正則對象,參數(shù)為傳入的正則表達式
return exp.test(value);                    //測試是否匹配
},
"格式錯誤");    //addMethod第3個參數(shù):默認錯誤信息
$(function() {
$("#signupForm").validate(
{
rules: {
txtPassword1: "required",  //密碼1必填
txtPassword2: {    //密碼2的描述多于1項使用對象類型
required: true,  //必填,這里可以是一個匿名方法
equalTo: "#txtPassword1",  //必須與密碼1相等
rangelength: [5, 10],    //長度5-10之間
regex: "^\\w+$"          //使用自定義的驗證規(guī)則,在上例中新增的部分
},
txtEmail: "email"   //電子郵箱必須合法
},
messages: {
txtPassword1: "您必須填寫",
txtPassword2: {
required: "您必須填寫",
equalTo: "密碼不一致",
rangelength: "長度必須介于{0} 和 {1} 之間的字符串",
regex: "密碼只能是數(shù)字、字母與下劃線"
}
},
debug: false,  //如果修改為true則表單不會提交
submitHandler: function() {
alert("開始提交了");
}
});
});
</script>
運行結果:
注意,如果參數(shù)有多個可以使用數(shù)組,如regex:[1,3,5],方法中可以使用下標訪問:params[0]
網(wǎng)友提供的一些擴展驗證方法:
// 手機號碼驗證
jQuery.validator.addMethod("mobile", function(value, element) {
var length = value.length;
var mobile =  /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/
return this.optional(element) || (length == 11 && mobile.test(value));
}, "手機號碼格式錯誤");
// 電話號碼驗證
jQuery.validator.addMethod("phone", function(value, element) {
var tel = /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
return this.optional(element) || (tel.test(value));
}, "電話號碼格式錯誤");
// 郵政編碼驗證
jQuery.validator.addMethod("zipCode", function(value, element) {
var tel = /^[0-9]{6}$/;
return this.optional(element) || (tel.test(value));
}, "郵政編碼格式錯誤");
// QQ號碼驗證
jQuery.validator.addMethod("qq", function(value, element) {
var tel = /^[1-9]\d{4,9}$/;
return this.optional(element) || (tel.test(value));
}, "qq號碼格式錯誤");
// IP地址驗證
jQuery.validator.addMethod("ip", function(value, element) {
var ip = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
return this.optional(element) || (ip.test(value) && (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256));
}, "Ip地址格式錯誤");
// 字母和數(shù)字的驗證
jQuery.validator.addMethod("chrnum", function(value, element) {
var chrnum = /^([a-zA-Z0-9]+)$/;
return this.optional(element) || (chrnum.test(value));
}, "只能輸入數(shù)字和字母(字符A-Z, a-z, 0-9)");
// 中文的驗證
jQuery.validator.addMethod("chinese", function(value, element) {
var chinese = /^[\u4e00-\u9fa5]+$/;
return this.optional(element) || (chinese.test(value));
}, "只能輸入中文");
// 下拉框驗證
$.validator.addMethod("selectNone", function(value, element) {
return value == "請選擇";
}, "必須選擇一項");
// 字節(jié)長度驗證
jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {
var length = value.length;
for (var i = 0; i < value.length; i++) {
if (value.charCodeAt(i) > 127) {
length++;
}
}
return this.optional(element) || (length >= param[0] && length <= param[1]);
}, $.validator.format("請確保輸入的值在{0}-{1}個字節(jié)之間(一個中文字算2個字節(jié))"));
源碼下載
posted @ 2011-09-05 17:31 張果 閱讀(275) 評論(0)編輯
JQuery擴展插件Validate—4設置錯誤提示的樣式
我們先來使用firebug查看在前面的示例中JS產(chǎn)生的html錯誤提示:
從圖中我們發(fā)現(xiàn)錯誤信息是被放在了一個label標簽中,且有一個類樣式error,只要為signupform下面的
label標簽中的error定css樣式,應該就可以修改顯示結果了,添加的css代碼如下:
<style type="text/css">
*
{
font-size: 14px;
}
#signupForm label.error
{
color:Red;
font-size:13px;
margin-left:5px;
padding-left:16px;
background:url("error.png") left no-repeat;
}
</style>
運行時顯示結果:
源碼下載
posted @ 2011-09-05 17:19 張果 閱讀(220) 評論(0)編輯
JQuery擴展插件Validate—3通過參數(shù)設置錯誤信息
最終顯示在頁面上的錯誤分為兩種:第一種是默認錯誤信息,該信息已經(jīng)被定義在插件中了,可以手動修改。
第二種是通過參數(shù)指定的錯誤信息,如果沒有指定則會使用默認的錯誤信息。將上個示例的js修改如下:
顯示源碼  <script type="text/javascript">
$(function() {
$("#signupForm").validate(
//在上例中新增的部分
{
rules: {
txtPassword1: "required",  //密碼1必填
txtPassword2: {    //密碼2的描述多于1項使用對象類型
required: true,  //必填,這里可以是一個匿名方法
equalTo: "#txtPassword1",  //必須與密碼1相等
rangelength: [5, 10]    //長度5-10之間
},
txtEmail: "email"   //電子郵箱必須合法
},
messages: {
txtPassword1: "您必須填寫",
txtPassword2: {
required: "您必須填寫",
equalTo: "密碼不一致",
rangelength: "長度必須介于{0} 和 {1} 之間的字符串"
}
}
});
});
</script>
html與前面的示例相同
在上一個示例的基礎上添加了一個messages項,為其指定了一個對象類型的值,與rules基本對應,特意沒有指定email的錯誤信息,運行結果如下:
源碼下載
posted @ 2011-09-05 17:13 張果 閱讀(187) 評論(0)編輯
JQuery擴展插件Validate—2通過參數(shù)設置驗證規(guī)則
在前面示例中使用的的方法簡單方便,但沒有完全將js與頁面結構完全分離,也就是說js依賴了class,下面通過validate()方法的參數(shù)設置驗證規(guī)則將js與頁面結構完全分離,代碼如下:
顯示源碼 <script type="text/javascript">
$(function() {
$("#signupForm").validate(
//在上例中新增的部分
{
rules: {
txtPassword1: "required",  //密碼1必填
txtPassword2: {    //密碼2的描述多于1項使用對象類型
required: true,  //必填,這里可以是一個匿名方法
equalTo: "#txtPassword1",  //必須與密碼1相等
rangelength: [5, 10]    //長度5-10之間
},
txtEmail: "email"   //電子郵箱必須合法
}
});
});
</script>
<form id="signupForm" method="get" action="">
<fieldset>
<legend>用戶注冊</legend>
<p>
<label for="txtPassword1">
密碼1</label>
<input id="txtPassword1" name="txtPassword1" type="password" />
</p>
<p>
<label for="txtPassword2">
密碼2</label>
<input id="txtPassword2" name="txtPassword2" type="password" />
</p>
<p>
<label for="txtEmail">
郵箱</label>
<input id="txtEmail" name="txtEmail" />
</p>
<p>
<input type="submit" value="提交" />
</p>
</fieldset>
</form>
遠行結果:
注意:在ASP.NET中使用這種JS驗證方法最好將服務器控件Id替換成客戶端Id,如:<%=控件Id.ClientId %>,<%=控件Id.UniqueId>
源碼下載
posted @ 2011-09-05 17:07 張果 閱讀(211) 評論(0)編輯
公告
昵稱:張果
園齡:2年7個月
粉絲:11
關注:0+加關注
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
jQuery登陸判斷簡單實現(xiàn)代碼
jQuery 強大的jQuery彈出層插件–BlockUI
JS~重寫alter與confirm,讓它們變成fancybox風格
彈出對話框
UI前臺 加載等候插件
【JS常用代碼】Jquery鼠標移入顯示效果
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服

主站蜘蛛池模板: 柘城县| 兰西县| 丰镇市| 溧阳市| 大化| 杭锦旗| 电白县| 师宗县| 安图县| 南召县| 同心县| 吉安县| 保德县| 攀枝花市| 平泉县| 龙海市| 卫辉市| 恩平市| 绥阳县| 资阳市| 湄潭县| 许昌市| 中牟县| 株洲市| 邹城市| 金川县| 青州市| 江山市| 连江县| 嫩江县| 河北区| 金昌市| 武胜县| 禹城市| 山西省| 深圳市| 丰台区| 荃湾区| 个旧市| 宜宾市| 福安市|