目标:使用jQuery进行表单验证。
功能:1.必填选项后面添加了红色小星星;
2.选中开始输入时,输入文本框会改变当前背景色,增强用户体验;
3.输入的时候就开始验证,当输入格式正确就会提醒,就是当前还停留在输入框,或者点击提交按钮;
4.设置重置按钮,点击重置,会清除文本框里面的所有内容。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> body { font:12px/19px Arial, Helvetica, sans-serif; color:#666;} form div { margin:5px 0;} .int label { float:left; width:100px; text-align:right;} .int input { padding:1px 1px; border:1px solid #ccc;height:16px;} .sub { padding-left:100px;} .sub input { margin-right:10px; } .formtips{width: 200px;margin:2px;padding:2px;} .onError{ background:#FFE0E9 url(dd01.png) no-repeat 0 center; padding-left:25px; } .onSuccess{ background:#E9FBEB url(dd02.png) no-repeat 0 center; padding-left:25px; } .high{ color:red; } .focus { border: 1px solid #f00; background: #fcc; } </style> </head> <script src="../js/jquery-1.11.3.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function(){ //2.如果是必填的,则加红星标识. $("form :input.required").each(function(){ var $required = $("<strong class='high'> *</strong>"); //创建元素 $(this).parent().append($required); //然后将它追加到文档中 }); //3.文本框失去焦点后开始验证 $('form :input').blur(function(){ var $parent = $(this).parent(); $parent.find(".formtips").remove(); //3.1验证用户名 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>'); } } //3.2验证邮件 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>'); } } //3.3实现一边输入一边验证 }).keyup(function(){ $(this).triggerHandler("blur"); }).focus(function(){ $(this).triggerHandler("blur"); });//end blur //3.4提交,最终验证。 $('#send').click(function(){ $("form :input.required").trigger('blur'); var numError = $('form .onError').length; if(numError){ return false; } alert("注册成功,密码已发到你的邮箱,请查收."); }); //4.重置 $('#res').click(function(){ $(".formtips").remove(); }); //1.选中输入的时候输入框变色 $(":input").focus(function(){ $(this).addClass("focus"); }).blur(function(){ $(this).removeClass("focus"); }); }) </script> <body> <form method="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="res"/> </div> </form> </body> </html>
注意:CSS样式里面的url(dd01.png) url(dd02.png)两张图片自已分别加上去
原文链接:https://www.qiquanji.com/post/8571.html
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
微信扫码关注
更新实时通知