QIHJ

导航

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);
            }
        })
    }

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

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

posted on 2017-06-08 14:19  QIHJ  阅读(214)  评论(0编辑  收藏  举报