今天做一个关于人员信息修改的页面时,我用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 > ){
alert("年龄不对");
}
else if(s!='男'&&s!='女' ){
alert("性别不对");
}
else if(!ic.match(/^[-]\d{}((\d)|([-]))(([||]\d)|[-])\d{}$|^[-]\d{}[-]\d{}((\d)|([-]))(([||]\d)|[-])\d{}([-]|X)$/)){
alert("身份证不对");
}
else if(q> ){
alert("QQ号不对");
}
else if(!p.match(/^[]\d{}$/)){
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退出循环(新人请多多关照~)的更多相关文章

  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. 【spring】之xml和Annotation,Bean注入的方式

    基于xml形式Bean注入 @Data @AllArgsConstructor @NoArgsConstructor public class PersonBean { private Integer ...

  2. iterator简单描述

    Item 26. Prefer iterator to const iterator, reverse_iterator, and const_reverse_iterator. 上面一段话,是< ...

  3. c# 数据结构 ArrayList

    数据结构 描述数据之间的关系 行为:添加数据,删除数据,插入数据,查找数据,修改数据 追加数据:向这个结构的末尾添加一个数据 删除数据:在这个结构中删除你指定的数据 插入数据:向这个结构中某一个位置插 ...

  4. java之try、catch、finally

    结论:try和catch相当于程序分支,finally块中不会改变变量的指针(引用地址):和final修饰的变量类似. public class Test { public static AreaRQ ...

  5. mybatis入门篇:通过SqlSession.selectList进行数据查询

    作为一个java菜鸟,早就从慕课网中学到一些基本的mybatis的用法,但是一直不成体系,懵懵懂懂,既然正式入了java这个坑,就打算好好学学,所以买了本<MyBatis从入门到精通>,在 ...

  6. Oracle不能并行直接添加主键的方法:先建唯一索引后建主键

    环境:Oracle 11.2.0.3 需求:生产一张表由于前期设计不当,没有主键.现需要添加主键,数据量很大,想并行建立. 1.直接添加,提示ora-3001:未实施的功能;只能单线程建立主键 SQL ...

  7. nginx ------反向代理和负载均衡

    最近由于公司的业务增长 服务器承受不住压力经常出现崩溃现象 为了解决 使用nginx的负载均衡解决,以下是操作步骤: 1.nginx 的负载均衡:将压力分散到不同的机器上 nginx不单可以作为强大的 ...

  8. leetcode981

    考虑线性的搜索会超时,所以用二叉搜索来解决,代码如下: class TimeMap: def __init__(self): self.ST = dict() def set(self, key: ' ...

  9. EasyARM-iMX283A的make menuconfig出现错误:Install ncurses(ncurses-devel) and try again。

    lin@lin-machine:~/linux-2.6.35.3$ make menuconfig *** Unable to find the ncurses libraries or the ** ...

  10. Activity中满屏和去标题的实现方法

    两种方式: 在xml文件中进行配置 在项目的清单文件AndroidManifest.xml中,找到需要全屏或设置成无标题栏的Activity,在该Activity进行如下配置即可. 实现全屏效果: a ...