jquery each方法退出的问题

问题:

今天碰到一个列表形式的表单校验需求,首先想到用jquery的each循环,然后校验结束,发现return false并没有阻止表单提交,因为return false 只结束了each循环。

解决:

定义一个小小的flag

submitForm = function() {
            var flag=true;
            //1.优惠金额正整数验证
            $("input[name$='discount_money']").each(function (i){
                var value=$(this).val();
                if (value.length>0){
                    if (!(/(^[1-9]\d*$)/.test(value))) {
                        flag=false;
                        $.messager.popup("请输入正整数优惠金额!");
                        return false;
                    }
                }
            });

            //2.微信支付折扣率0~1验证
            $("input[name$='discount']").each(function (i){
                var value=this.value;
                if (value.length>0){
                    if(value<=0 || value>=1){
                        flag=false;
                        $.messager.popup("请输入0~1之间的折扣率!");
                        return false;
                    }
                }
            });
            // 3.积分比率正整数验证
            $("input[name$='discount_point']").each(function (i){
                var value=this.value;
                if (value.length>0){
                    if (!(/(^[1-9]\d*$)/.test(value))) {
                        flag=false;
                        $.messager.popup("请输入正整数积分抵扣!");
                        return false;
                    }
                }
            });

            // 4.提交表单
            if(flag){
                $.ajax({
                    url:"save.json",
                    type:"post",
                    data:$form.serialize(),
                    success:function(data){
                        if (data.code==200){
                            $.messager.popup("操作成功!");
                            window.location.reload()
                        }else{
                            $.messager.popup(data.msg);
                        }
                    },
                    error:function(e){
                        $.messager.popup("操作失败!");
                    }
                });
            }
总结:

jquery有很多高级的用法,通配符,正则表达式都是值得研究的目标。

附:

each方法教程 http://www.w3school.com.cn/jquery/traversing_each.asp

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 4,925评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,073评论 19 139
  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 9,026评论 1 19
  • 为甚嚒要学习jQuery? 因为JS中有很多痛点: window.onload事件只能出现一次,如果出现多次,后面...
    magic_pill阅读 4,272评论 0 13
  • 我从这条路上走过无数次 我也从它的身边路过无数次 我见证了它从树苗长成大树 我看过它的容颜从翠绿到枯黄 ...
    十弍阅读 3,273评论 0 3

友情链接更多精彩内容