詳解jQuery簡單的表單應(yīng)用
大致介紹
接下來的這幾個博客是對前面所學(xué)知識的一個簡單的應(yīng)用,來加深理解
單行文本框
只介紹一個簡單的樣式:獲取和失去焦點(diǎn)改變樣式
基本結(jié)構(gòu):
<form action="#" method="post" id="regFrom"> <fieldset> <legend>個人基本信息</legend> <div> <label for="username">名稱:</label> <input id="username" type="text" /> </div> <div> <label for="pass">密碼:</label> <input id="pass" type="passward" /> </div> <div> <label for="msg">詳細(xì)信息:</label> <textarea id="msg" ></textarea> </div> </fieldset> </form>
在CSS中添加一個類為focus的樣式
.focus{
border: 1px solid #f00;
background: #fcc;
}
然后為文本框添加獲取和失去焦點(diǎn)事件
$(function(){
$(':input').focus(function(){
$(this).addClass('focus');
}).blur(function(){
$(this).removeClass('focus');
});
});
效果

多行文本框應(yīng)用
1、高度變化
改變多行文本框的高度
基本結(jié)構(gòu):
<form action="#" method="POST" id="regFrom"> <div class="msg"> <div class="msg_caption"> <span class="bigger">放大</span> <span class="small">縮小</span> </div> <div> <textarea id="comment" rows="8" cols="20"> 多行文本框,多行文本框,多行文本框,多行文本框,多行文本框,多行文本框,多行文本框,多行文本框,多行文本框,多行文本框,多行文本框,多行文本框,多行文本框,多行文本框,多行文本框,多行文本框,多行文本框,多行文本框,多行文本框, </textarea> </div> </div> </form>
要實(shí)現(xiàn)的功能:
1、當(dāng)單擊“放大”按鈕后,如果評論框的高度小于500px,則在原有的高度的基礎(chǔ)上增加50px
1、當(dāng)單擊“縮小”按鈕后,如果評論框的高度大于50px,則在原有的高度的基礎(chǔ)上減少50px
添加事件:
$(function(){
var $comment = $('#comment');
$('.bigger').click(function(){
if($comment.height() < 500){
$comment.height( $comment.height() + 50 );
}
});
$('.small').click(function(){
if($comment.height() > 50){
$comment.height( $comment.height() - 50 );
}
});
});
效果:

2、滾動條高度變化
添加事件:
$(function(){
var $comment = $('#comment');
$('.bigger').click(function(){
if(!$comment.is(':animated')){
$comment.animate({scrollTop : '-=50'},400);
}
});
$('.small').click(function(){
if(!$comment.is(':animated')){
$comment.animate({scrollTop : '+=50'},400);
}
});
});
效果:

復(fù)選框應(yīng)用
對復(fù)選框的基本應(yīng)用,就是對復(fù)選框進(jìn)行全選、反選和全部選等操作
基本樣式:
<form action="#" method="POST" id="regFrom"> <p>你愛好的運(yùn)動</p> <input type="checkbox" name="items" value="足球" />足球 <input type="checkbox" name="items" value="籃球" />籃球 <input type="checkbox" name="items" value="羽毛球" />羽毛球 <input type="checkbox" name="items" value="乒乓球" />乒乓球 <br /> <input type="button" id="CheckedAll" value="全 選" /> <input type="button" id="CheckedNo" value="全不選" /> <input type="button" id="CheckedRev" value="反 選" /> <input type="button" id="send" value="提 交" /> </form>
添加全選按鈕和全不選事件
$('#CheckedAll').click(function(){
$('[name=items]:checkbox').attr('checked',true);
});
$('#CheckedNo').click(function(){
$('[name=items]:checkbox').attr('checked',false);
});
添加反選事件
$('#CheckedRev').click(function(){
$('[name=items]:checkbox').each(function(){
this.checked = !this.checked;
});
});
添加提交事件:輸出選中的值
var str = "你選中的是:\r\n";
$('#send').click(function(){
$('[name=items]:checkbox:checked').each(function(){
str += $(this).val() + "\r\n";
});
alert(str);
});
效果:

下拉框應(yīng)用
基本結(jié)構(gòu):
<div class="centent"> <select multiple id="select1" style="width:100px;height:160px;"> <option value="1" >選項(xiàng)1</option> <option value="2" >選項(xiàng)2</option> <option value="3" >選項(xiàng)3</option> <option value="4" >選項(xiàng)4</option> <option value="5" >選項(xiàng)5</option> <option value="6" >選項(xiàng)6</option> <option value="7" >選項(xiàng)7</option> <option value="8" >選項(xiàng)8</option> </select> <div> <span id="add">選中添加到右邊>></span><br /> <span id="add_all">全部添加到右邊>></span> </div> </div> <div class="centent"> <select multiple id="select2" style="width:100px;height:160px;"></select> <div> <span id="remove"><<選中刪除到左邊</span><br /> <span id="remove_all"><<全部刪除到左邊</span> </div> </div>
實(shí)現(xiàn)的功能:
1、將選中的選項(xiàng)添加給對方
$('#add').click(function(){
var $options = $('#select1 option:selected');
$options.appendTo($('#select2'));
});
2、全部的選項(xiàng)添加給對方
$('#add_all').click(function(){
var $options = $('#select1 option');
$options.appendTo($('#select2'));
});
3、雙擊某個按鈕將其添加給對方
$('#select1').dblclick(function() {
var $options = $('option:selected');
$options.appendTo($('#select2'));
});
效果:

表單應(yīng)用
基本結(jié)構(gòu):
<form methos="post" action=""> <div class="int"> <label for="username">用戶名</label> <input type="text" id="username" class="required" /> </div> <div class="int"> <label for="email">郵箱</label> <input type="text" id="email" class="required" /> </div> <div class="int"> <label for="personinfo">個人資料</label> <input type="text" id="personinfo" /> </div> <div class="sub"> <input type="submit" value="提交" id="send" /> <input type="reset" id="red" /> </div> </form>
驗(yàn)證用戶輸入的是否正確
$('form :input').blur(function(){
var $parent = $(this).parent();
// 刪除以前的提示元素
$parent.find(".formtips").remove();
// 驗(yàn)證用戶名
if($(this).is('#username')){
if(this.value == '' || this.value.length < 6){
var errorMsg = '請輸入至少6位的用戶名';
$parent.append('<span class="formtips onError">'+errorMsg+' </span>');
}else{
var okMsg = '輸入正確';
$parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
}
}
// 驗(yàn)證郵箱
if($(this).is('#email')){
if(this.value == '' || (this.value != "" && !/.+@.+\.[a-zA-Z] {2,4}$/.test(this.value))){
var errorMsg = '請輸入正確的E-Mail地址';
$parent.append('<span class="formtips onError">'+errorMsg+' </span>');
}else{
var okMsg = '輸入正確';
$parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
}
}
});
提交按鈕綁定事件
// 提交按鈕
$('#send').click(function(){
$('form .required:input').trigger('blur');
var numError = $('form .onError').length;
if(numError){
return false;
}
alert("注冊成功");
});
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
Jquery Ajax Error 調(diào)試錯誤的技巧
jquery在程序開發(fā)ajax應(yīng)用程序時提高了效率,減少了需要兼容性的問題,當(dāng)我們在ajax項(xiàng)目中,遇到ajax異步獲取數(shù)據(jù)出錯該怎么解決呢,我們可以通過捕捉error事件來獲取出錯的信息,本文給大家介紹jquery ajax error調(diào)試錯誤的技巧,感興趣的朋友一起學(xué)習(xí)吧2015-11-11
jQuery?UI旋轉(zhuǎn)器部件Spinner?Widget
這篇文章介紹了jQuery?UI旋轉(zhuǎn)器部件Spinner?Widget,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
jquery實(shí)現(xiàn)手風(fēng)琴案例
這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)手風(fēng)琴案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-05-05
使用jquery mobile做幻燈播放效果實(shí)現(xiàn)步驟
使用jquery mobile,可以很容易實(shí)現(xiàn)幻燈播放效果,擺脫繁雜的步驟輕松實(shí)現(xiàn),接下來介紹,有需要的朋友可以參考下2013-01-01
jQuery中scrollLeft()方法用法實(shí)例
這篇文章主要介紹了jQuery中scrollLeft()方法用法,實(shí)例分析了scrollLeft()方法的功能、定義及獲取或設(shè)置匹配元素相對滾動條左側(cè)的偏移(offset)量時的使用技巧,需要的朋友可以參考下2015-01-01
jQuery(1.6.3) 中css方法對浮動的實(shí)現(xiàn)缺陷分析
JavaScript中設(shè)置元素的浮動屬性(float),標(biāo)準(zhǔn)瀏覽器使用cssFloat,IE舊版本使用styleFloat。2011-09-09

