xuewenke 2012-05-19
文本框中的事件应用:以输入邮箱为例,如图:
代码如下:
<!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>jquery文本框中的事件应用</title>
<style type="text/css">
body{ font-size:13px;}
/*元素初始化样式*/
.divInit{ width:390px; height:55px; line-height:55px; padding-left:20px;}
.txtInit{ border:solid 1px #666; padding:3px; background-image:url('Images/bg_email_input.gif');}
.spnInit{ width:179px; height:40px; line-height:40px; float:right; margin-top:8px; padding-left:10px; background-repeat:no-repeat;}
/*元素丢失焦点样式*/
.divBlur{ background-color:#FEEEC2;}
.txtBlur{ border:solid 1px #666; padding:3px; background-image:url('Images/bg_email_input2.gif');}
.spnBlur{ background-image:url('Images/bg_email_wrong.gif');}
.divFocu{ background-color:#EDFFD5;} /*div获取焦点样式*/
.spnSucc{ background-image:url('Images/pic_Email_ok.gif'); margin-top:20px;} /*验证成功时span样式*/
</style>
<script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#txtEmail").trigger("focus"); //默认时文本框获得焦点
$("#txtEmail").focus(function () { //文本框获取焦点事件
$(this).removeClass("txtBlur").addClass("txtInit");
$("#email").removeClass("divBlur").addClass("divFocu");
$("#spnTip").removeClass("spnBlur").removeClass("spnSucc").html("请输入您常用邮箱地址!");
});
$("#txtEmail").blur(function () { //文本框丢失焦点事件
var vTxt = $("#txtEmail").val();
if (vTxt.length == 0) { //文本框中是否输入了邮箱
$(this).removeClass("txtInit").addClass("txtBlur");
$("# email").removeClass("divFocu").addClass("divBlur");
$("#spnTip").addClass("spnBlur").html("邮箱地址不能为空!");
}
else { //检测邮箱格式是否正确
if (!chkEmail(vTxt)) { //如果不正确
$(this).removeClass("txtInit").addClass("txtBlur");
$("#email").removeClass("divFocu").addClass("divBlur");
$("#spnTip").addClass("spnBlur").html("邮箱格式不正确!");
}
else { //如果正确
$(this).removeClass("txtBlur").addClass("txtInit");
$("#email").removeClass("divFocu");
$("#spnTip").removeClass("spnBlur").addClass("spnSucc").html("");
}
}
});
/*验证邮箱格式是否正确 参数strEmail,需要验证的邮箱*/
function chkEmail(strEmail) {
var vChk = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if (!vChk.test(strEmail)) {
return false;
}
else {
return true;
}
}
});
</script>
</head>
<body>
<form id="form1" action="#">
<div id="email" class="divInit">邮箱:
<span id="spnTip" class="spnInit"></span>
<input type="text" id="txtEmail" class="txtInit" />
</div>
</form>
</body>
</html>