今天做一个关于人员信息修改的页面时,我用foreach获取数据库数据时发现,用if else判断输入的内容时,会一个一个的做对比,导致错误提醒时会弹出与数据库内容行数相同条的提醒,最后发现将数据直接命为全局变量便轻松的解决了这个问题.

  1. var totaldata;
  2.  
  3. $(function(){
  4. $("#cha").click(function() {
  5. validateForm();
  6. });
  7. });
  8. /**
  9. * 修改内容判断
  10. */
  11. function validateForm(){
  12. var i=$('#idd').val();
  13. var isexist=false;
  14. totaldata.cont.forEach(function(val,index){
  15. if(i==val.id){
  16. isexist=true;
  17. }
  18. });

首先获取到input写入的内容,用来和数据库数据作对比,如果相同,再进行下一步操作.声明一个用来判断数据是否相同的变量isexist,赋值为false,如果数据相同,将false变为true.

  1. if (isexist){
  2. var n=$('#name').val();
  3. var a=$('#age').val();
  4. var s=$('#sex').val();
  5. var ic=$('#idCard').val();
  6. var q=$('#QQ').val();
  7. var p=$('#phone').val();
  8. var ps=$('#post').val();
  9. var ind=$('#inductionTime').val();
  10. var e=$('#education').val();
  11. if(!(i&&n&&a&&s&&ic&&q&&p&&ps&&ind&&e)){
  12. alert('不能为空!');
  13. }
  14. else if(a > ){
  15. alert("年龄不对");
  16. }
  17. else if(s!='男'&&s!='女' ){
  18. alert("性别不对");
  19. }
  20. else if(!ic.match(/^[-]\d{}((\d)|([-]))(([||]\d)|[-])\d{}$|^[-]\d{}[-]\d{}((\d)|([-]))(([||]\d)|[-])\d{}([-]|X)$/)){
  21. alert("身份证不对");
  22. }
  23. else if(q> ){
  24. alert("QQ号不对");
  25. }
  26. else if(!p.match(/^[]\d{}$/)){
  27. alert("电话号码不对");
  28. }
  29. else{
  30. alert('修改成功!');
  31. h(i,n,a,s,ic,q,p,ps,ind,e);
  32. }
  33. }
  34. else{
  35. alert('编号不存在!');
  36. }
  37. }

如果isexist值为true,那么进行下一步获取页面上所有input的value值,如果有一个为空,那么就会提示错误信息,下面的if else都是错误判断的.

  1. kk();
  2. function kk(){
  3. $.ajax({
  4. url:'http://192.168.0.172/show',
  5. dataType:'jsonp',
  6. success:function(data){
  7. totaldata=data;
  8. },
  9. error:function(err){
  10. console.log(err);
  11. }
  12. })
  13. }

这是从数据库获取到的内容,我将获取到的内容设为了全局变量(图一),这样便能直接在外面使用数据库数据.

  1. /**
  2. * 修改后的数据传到后台
  3. */
  4. function h(id,name,age,sex,idCard,QQ,phone,post,inductionTime,education){
  5. $.ajax({
  6. url:'http://192.168.0.172/modify',
  7. data:{id:id,name:name,age:age,sex:sex,idCard:idCard,QQ:QQ,phone:phone,post:post,inductionTime:inductionTime,education:education},
  8. dataType:'jsonp',
  9. success:function(data){
  10. console.log(data);
  11. },
  12. error:function(err){
  13. console.log(err);
  14. }
  15. })
  16. }

最后将判断完成的数据传输到数据库,完成修改!

(如果大佬有其他更好的方法欢迎与我多多交流= =,感激不尽!)

foreach退出循环(新人请多多关照~)的更多相关文章

  1. 大家好,我是一个JAVA初学者,想在这里记下自己学习过程中的点点滴滴,请多多关照

    大家好,我是一个JAVA初学者,想在这里记下自己学习JAVA的点点滴滴,请多多关照. 以前一直在QQ空间里记录的,但感觉有些麻烦,而且有些东西自己理解的并不完善甚至都不正确,现在开始在这里重新记录,从 ...

  2. 新进Linux菜鸟,请多多关照

    早早知晓Linux的大名,一直未研究学习,近来看了kernel一些源代码,在网上搜过很多基础的知识.感觉这个Linux的世界很广大,值得好好深入学习.初生婴儿,呱呱落地,必先躺若干日后能坐,在学爬,进 ...

  3. foreach和List.Foreach 退出循环相关问题

    foreach: continue;:退出本次循环 break;:退出循环 return;:退出循环 List.Foreach: return;:退出本次循环 小结:list.Foreach中不能退出 ...

  4. 《Python测试开发技术栈—巴哥职场进化记》—初来乍到,请多关照

    上文<巴哥职场进化记-Python测试开发技术栈>开篇讲到巴哥毕业初到深圳,见到了来自五湖四海的室友.一番畅聊之后,抱着对未来职场生活的期待,大家都进入了梦乡.今天我们来看看巴哥第一天上班 ...

  5. Foreach能够循环的本质

    我们对foreach循环并不陌生,在C#中我们用得非常多,但是我们是否清楚foreach循环的本质呢? 众所周知,foreach循环能够遍历 数组  ,集合 .但是我们自己定义的一个类是否能够通过fo ...

  6. jQuery中each的用法之退出循环和结束本次循环

    jQuery中each的用法之退出循环和结束本次循环 jQuery中each类似于javascript的for循环 但不同于for循环的是在each里面不能使用break结束循环,也不能使用conti ...

  7. python全栈开发知识点补充for else和while else如果不是除正常以外的其他方式退出循环,那么else语句就会被执行。

    如果不是除正常以外的其他方式退出循环,那么else语句就会被执行. 也就是循环体内没有break语句.return语句.和其他异常语句的执行. for   else >>> for ...

  8. 端午节佳节从CSDN博客搬家来这,请多多指教

    端午节佳节从CSDN博客搬家来博客园,请多多指教

  9. 编写高质量代码改善C#程序的157个建议——建议17:多数情况下使用foreach进行循环遍历

    建议17:多数情况下使用foreach进行循环遍历 由于本建议涉及集合的遍历,所以在开始讲解本建议之前,我们不妨来设想一下如何对结合进行遍历.假设存在一个数组,其遍历模式可以采用依据索引来进行遍历的方 ...

随机推荐

  1. Linux背背背(4)vim操作

    目录 1.打开文件 2.vim的三种模式 3.扩展 (关于vi 和 vim 的区别,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面.) 1 ...

  2. React开发笔记

    项目环境搭建 使用create-react-app CSS使用styled-components yarn add styled-components 引入reset.css样式 import { c ...

  3. Flask与WSGI

    刚开始接触到python及Flask框架时,总是会听到 wsgi等等相关的名词,以及 项目部署时会用到nginx+gunicorn等等,但是对于一个请求从 nignx到gunicorn再到falsk框 ...

  4. android 开发 View _10_ Path之基本操作

    转载地址:http://www.gcssloop.com/customview/Path_Basic/ 安卓自定义View进阶-Path之基本操作 在上一篇Canvas之图片文字中我们了解了如何使用C ...

  5. mysql 表映射为java bean 手动生成。

    在日常工作中,一般是先建表.后建类.当然也有先UML构建类与类的层级关系,直接生成表.(建模)这里只针对先有表后有类的情况.不采用代码生成器的情况. 例如: 原表结构: ),)) BEGIN ); ) ...

  6. Docekr 挂在卷之后访问目录时异常 cannot open directory '.': Permission denied 的解决办法

    1,原因,原因是CentOS7 中的安全模块 selinux 把权限禁掉了 2,解决办法如下 2.1,运行容器是加参数在 --privileged=true   (个人认为这是最佳方式,推荐使用) 如 ...

  7. java书籍

    1.«java高并发编程详解 »一本比较详细介绍多线程的书籍,个人感觉比 并发编程思想 这本书详细

  8. python中的多进程与多线程(二)

    1.使用多线程可以有效利用CPU资源,线程享有相同的地址空间和内存,这些线程如果同时读写变量,导致互相干扰,就会产生并发问题,为了避免并发问题,绝不能让多个线程读取或写入相同的变量,因此python中 ...

  9. 基于windows平台搭建elasticsearch

    部署准备 elasticsearch-6.0.1.zip--https://www.elastic.co/downloads/elasticsearch elasticsearch-head-mast ...

  10. 通过yum安装php7

    Linux下全局安装composer方法: //下载composercurl -sS https://getcomposer.org/installer | php //将composer.phar文 ...