1. 程式人生 > >foreach退出循環(新人請多多關照~)

foreach退出循環(新人請多多關照~)

pos name 後臺 exist 所有 each ota time 編號

今天做一個關於人員信息修改的頁面時,我用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退出循環(新人請多多關照~)