foreach退出循环(新人请多多关照~)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了foreach退出循环(新人请多多关照~)相关的知识,希望对你有一定的参考价值。
今天做一个关于人员信息修改的页面时,我用foreach获取数据库数据时发现,用if else判断输入的内容时,会一个一个的做对比,导致错误提醒时会弹出与数据库内容行数相同条的提醒,最后发现将数据直接命为全局变量便轻松的解决了这个问题.
var totaldata; $(function(){ $("#cha").click(function() { validateForm(); }); }); /** * 修改内容判断 */ function validateForm(){ var i=$(‘#idd‘).val(); var isexist=false; totaldata.cont.forEach(function(val,index){ if(i==val.id){ isexist=true; } });
首先获取到input写入的内容,用来和数据库数据作对比,如果相同,再进行下一步操作.声明一个用来判断数据是否相同的变量isexist,赋值为false,如果数据相同,将false变为true.
if (isexist){ var n=$(‘#name‘).val(); var a=$(‘#age‘).val(); var s=$(‘#sex‘).val(); var ic=$(‘#idCard‘).val(); var q=$(‘#QQ‘).val(); var p=$(‘#phone‘).val(); var ps=$(‘#post‘).val(); var ind=$(‘#inductionTime‘).val(); var e=$(‘#education‘).val(); if(!(i&&n&&a&&s&&ic&&q&&p&&ps&&ind&&e)){ alert(‘不能为空!‘); } else if(a > 100 ){ alert("年龄不对"); } else if(s!=‘男‘&&s!=‘女‘ ){ alert("性别不对"); } else if(!ic.match(/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/)){ alert("身份证不对"); } else if(q> 9999999999 ){ alert("QQ号不对"); } else if(!p.match(/^1[34578]\d{9}$/)){ alert("电话号码不对"); } else{ alert(‘修改成功!‘); h(i,n,a,s,ic,q,p,ps,ind,e); } } else{ alert(‘编号不存在!‘); } }
如果isexist值为true,那么进行下一步获取页面上所有input的value值,如果有一个为空,那么就会提示错误信息,下面的if else都是错误判断的.
kk(); function kk(){ $.ajax({ url:‘http://192.168.0.172/show‘, dataType:‘jsonp‘, success:function(data){ totaldata=data; }, error:function(err){ console.log(err); } }) }
这是从数据库获取到的内容,我将获取到的内容设为了全局变量(图一),这样便能直接在外面使用数据库数据.
/** * 修改后的数据传到后台 */ function h(id,name,age,sex,idCard,QQ,phone,post,inductionTime,education){ $.ajax({ url:‘http://192.168.0.172/modify‘, data:{id:id,name:name,age:age,sex:sex,idCard:idCard,QQ:QQ,phone:phone,post:post,inductionTime:inductionTime,education:education}, dataType:‘jsonp‘, success:function(data){ console.log(data); }, error:function(err){ console.log(err); } }) }
最后将判断完成的数据传输到数据库,完成修改!
(如果大佬有其他更好的方法欢迎与我多多交流= =,感激不尽!)
以上是关于foreach退出循环(新人请多多关照~)的主要内容,如果未能解决你的问题,请参考以下文章