一.表单应用
一个表单有三个基本组成部分:
(1)表单标签:包含处理表单数据所用的服务器端程序URL以及数据提交到服务器的方法。
(2)表单域:包含文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文本上传框等。
(3)表单按钮:包括提交按钮、复位按钮和一般按钮,用于将数据传送到服务器上或者取消传送,还可以用来控制其他定义了处理脚本的处理工作。
1.单行文本框应用
当文本框获取焦点后它的颜色需要变化,当它失去焦点后,则要恢复为原来的样式,可以使用css中的伪类选择符来实现以上的功能,css代码如下:
input:focus ,textarea:focus{
border:1px solid #f00;
background:#fcc;
}
但是IE6并不支持除超链接元素之外的:hover伪类选择符,此时可以利用jQuery弥补:
.focus{
border:1px solid #f00;
background:#fcc;
}
$(function(){
$(":input").focus(function(){
$(this).addClass("focus");
}).blur(function(){
$(this).removeClass("focus");
});
});
2.多行文本框应用
高度变化:通过“放大”和“缩小”按钮绑定单击事件,相应文本框的高度也会放大或缩小。
滚动条高度变化:通过“向上”和“向下”按钮绑定单击事件
3.复选框应用
$("#CheckedAll").click(function(){
$('[name=items]:checkbox').attr('checked',true); //复选框全选,全不选设置为false
});
$("#CheckedRev").click(function(){
$('[name=items]:checkbox').each(function(){
$(this).attr("checked", !$(this).attr("checked")); //反选
});
});
4.下拉框应用
将左边框的选项添加给右边框:
('#add').click(function(){
var $options=$('#select1 options:selected'); //获取全部的选项
$options.appendTo('#select2'); //追加给对方
})
5.表单验证
验证用户名:
if($(this).is('#username')){
if(this.value==""||this.value.length<6){
var errorMsg='请输入至少6位的用户名';
$parent.append('<span clsaa="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("注册成功,密码已发到你的邮箱,请查收");
});
二.表格应用
1.表格变色
普通的隔行变色:
$(function(){
$("tbody>tr:odd").addClass("odd"); //给表格中奇数行添加样式
$("tbody>tr:even").addClass("even"); //给表格中偶数行添加样式
})
单选框控制表格隔行高亮:
$('tbody>tr').click(function(){
$(this)
.addClass('selected') //给单击的当前行添加高亮样式
.siblings().removeClass('selected') //将兄弟行的高亮模式去掉,执行完对象变为$(this).sibling()
.end() //返回$(this)对象
.find(':radio').attr('checked',true); //将此行所在的单选框也选中
});
2.表格展开关闭
$(function(){
$('tr.parent').click(function(){ //获取所谓的父行
$(this)
.toggleClass("selected") //添加/删除高亮
.siblings('.child_'+this.id).toggle(); //隐藏/显示所谓的子行
}).click(); //当用户刚进入界面时默认收缩起来
})
3表格内容筛选
$(function(){
$("#filterName").keyup(function(){ //给文本框绑定触发事件
$("table tbody tr").hide()
.filter(":contains('"+($(this).val())+"')").show(); //根据文本框的输入筛选出行中有val值的行
});
});