验证是否显示红色的提交按钮
bindBlur:function(){//jquery多级验证表单var n = $("#item_name");var p = $("#price");var r = $("#reserve");show(velidate());//页面加载之后先进行一次验证//分别对三个需要验证的字段进行验证绑定,这里也可以写成一句代码//$("#item_name","#price",$("#reserve")).on({blur:function(){show(veridate())}});n.on({blur:function(){show(velidate())}});p.on({blur:function(){show(velidate())}});r.on({blur:function(){show(velidate())}});function velidate(){//获取验证的结果var flag = true;if(n.val()==""){flag= false;}if(p.val()=="0" || p.val()==""){flag= false;}if(r.val()=="0" || r.val()==""){flag= false;}return flag;}function show(flag){//将验证结果反映到页面if(flag){$(".down-complete-btn").css("background-color","#b02125");}else{$(".down-complete-btn").css("background-color","#8f8f8f");}}},验证,在用户点击提交的时候调用,会定位需要完善的地方
check:function(){var n = $("#item_name");var p = $("#price");var r = $("#reserve");if(n.val()==""){n.focus();return false;}if(p.val()=="0" || p.val()==""){p.focus();return false;}if(r.val()=="0" || r.val()==""){r.focus();return false;}return true;},这一段是ajax提交和提交前调用验证
postData:function(){$(".down-complete-btn").click(function(){if(Add.check()){$.ajax({type : "post",dataType : "json",data : {id : $("#item_id").val(),name : $("#item_name").val(),price : $("#price").val(),photos : $("#photos").val(),},cache : false,url : "/main/goods/add",success : function(data){if(data.code==1){alert("修改成功");}else{console.log(data);}},error : function(){alert("网络异常");}});}});}easy_form_validate.js
require.config({paths:{"jquery":"./lib/jquery-1.11.1.min","icon_Upload":"./icon_Upload"}});require(["jquery","icon_Upload"],function(){Add.bindBlur();Add.postData();});var Add = {bindBlur:function(){//jquery多级验证表单var n = $("#item_name");var p = $("#price");var r = $("#reserve");show(velidate());//页面加载之后先进行一次验证//分别对三个需要验证的字段进行验证绑定,这里也可以写成一句代码//$("#item_name","#price",$("#reserve")).on({blur:function(){show(velidate())}});n.on({blur:function(){show(velidate())}});p.on({blur:function(){show(velidate())}});r.on({blur:function(){show(velidate())}});function velidate(){//获取验证的结果var flag = true;if(n.val()==""){flag= false;}if(p.val()=="0" || p.val()==""){flag= false;}if(r.val()=="0" || r.val()==""){flag= false;}return flag;}function show(flag){//将验证结果反映到页面if(flag){$(".down-complete-btn").css("background-color","#b02125");}else{$(".down-complete-btn").css("background-color","#8f8f8f");}}},check:function(){var n = $("#item_name");var p = $("#price");var r = $("#reserve");if(n.val()==""){n.focus();return false;}if(p.val()=="0" || p.val()==""){p.focus();return false;}if(r.val()=="0" || r.val()==""){r.focus();return false;}return true;},postData:function(){$(".complete-btn").click(function(){if(Add.check()){$.ajax({type : "post",dataType : "json",data : {id : $("#item_id").val(),name : $("#item_name").val(),summary : $("#summary").text(),price : $("#price").val(),store : $("#store").val(),mobileDetail : $("#detail").val(),photos : $("#photos").val(),brokerage : $("#brokerage").val(),flag : $("#flag").val(),},cache : false,url : "/main/goods/add",success : function(data){if(data.code==1){alert("修改成功");}else{console.log(data);}},error : function(){alert("网络异常");}});}});}};我们再来看一则验证代码
<script type="text/javascript">//<![CDATA[$(function(){/**思路大概是先为每一个required添加必填的标记,用each()方法来实现。*在each()方法中先是创建一个元素。然后通过append()方法将创建的元素加入到父元素后面。*这里面的this用的很精髓,每一次的this都对应着相应的input元素,然后获取相应的父元素。*然后为input元素添加失去焦点事件。然后进行用户名、邮件的验证。*这里用了一个判断is(),如果是用户名,做相应的处理,如果是邮件做相应的验证。*在jQuery框架中,也可以适当的穿插一写原汁原味的javascript代码。比如验证用户名中就有this.value,和this.value.length。对内容进行判断。*然后进行的是邮件的验证,貌似用到了正则表达式。*然后为input元素添加keyup事件与focus事件。就是在keyup时也要做一下验证,调用blur事件就行了。用triggerHandler()触发器,触发相应的事件。*最后提交表单时做统一验证*做好整体与细节的处理*///如果是必填的,则加红星标识.$("form :input.required").each(function(){var $required = $("<strong class="high"> *</strong>"); //创建元素$(this).parent().append($required); //然后将它追加到文档中}); //文本框失去焦点后$("form :input").blur(function(){ var $parent = $(this).parent(); $parent.find(".formtips").remove(); //验证用户名 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>");} } //验证邮件 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>");} }}).keyup(function(){$(this).triggerHandler("blur");}).focus(function(){ $(this).triggerHandler("blur");});//end blur//提交,最终验证。 $("#send").click(function(){$("form :input.required").trigger("blur");var numError = $("form .onError").length;if(numError){return false;} alert("注册成功,密码已发到你的邮箱,请查收."); });//重置 $("#res").click(function(){$(".formtips").remove();});})//]]></script>