学生后台管理系统(简易版)

 <h1>学生管理</h1>
    <div>
        <label for="stuName">学生姓名:</label><input type="text" name="stuName" id="stuName">
    </div>

    <div>
        <label for="stuAge">学生年龄:</label><input type="text" name="stuAge" id="stuAge">
    </div>
    <div>
        <label for="">学生性别:</label>
        <label for="male"></label>
        <input type="radio" name="stuGender" id="male" checked value="男">
        <label for="female"></label>
        <input type="radio" name="stuGender" id="female"  value="女">
    </div>
    <div>
        <label for="stuScore">考试成绩:</label><input type="text" name="stuScore" id="stuScore">
    </div>
    <button type="" id="addStu">添加学生</button>
    <tr>
      
    </tr>
    <table id="stuInfo" border="1" cellspacing="0"></table>
    <script>
        let tab=document.getElementById("stuInfo");
        let addStu=document.getElementById("addStu");
        let stuName=document.getElementById("stuName");
        let stuAge=document.getElementById("stuAge");
        let stuScore=document.getElementById("stuScore");
        let stuGender=document.getElementsByName("stuGender");
        let index=null;

        let stuInfo =null;

        let render=function(stuInfo){
            tab.innerHTML="";
            if(stuInfo.length!==0){
                let thead='<tr><th>学生姓名</th><th>学生年龄</th><th>学生性别</th><th>考试成绩</th><th>操作</th></tr>';
                let tbody='';
                for(let i=0;i<stuInfo.length;i++){
                    tbody +=`<tr>
                                <td>${stuInfo[i].stuName}</td>
                                <td>${stuInfo[i].stuAge}</td>
                                <td>${stuInfo[i].stuGender}</td>
                                <td>${stuInfo[i].stuScore}</td>
                                <td><button onclick=editStu(${i})>修改</button><button onclick=delStu(${i})>删除</button></td>
                            </tr>`;
                }
                tab.innerHTML+=thead+tbody;
            }
            else{
                tab.innerHTML="";
            }

        }


        let typeChange=function(a){
            if(Array.isArray(a)){
                let obj={};
                for(let key in a){
                    obj[key]=a[key];
                }
                return obj;

            }
            else{
                let arr=[];
                for(let key in a){
                arr[key]=a[key];
                }
                return arr;
            }
          
        }

        window.onload=function(){
            if(localStorage.stuInfo ===undefined){
                let info ={
                    0:{'stuName':'谢杰','stuAge':18,'stuGender':'','stuScore':100},
                    1:{'stuName':'雅静','stuAge':20,'stuGender':'','stuScore':99},
                    2:{'stuName':'希之','stuAge':23,'stuGender':'','stuScore':89},
                }
                localStorage.stuInfo=JSON.stringify(info);
                stuInfo=typeChange(info);
            }
            else{
                stuInfo =typeChange(JSON.parse(localStorage.stuInfo))
            }
            render(stuInfo);
        }


        let makeNewStu=function(){
            let stuGenderValue=null;
            for(let i=0;i<stuGender.length;i++){
                if(stuGender[i].checked ===true){
                    stuGenderValue=stuGender[i].value;
                }
            }

            let newStu={'stuName':stuName.value,'stuAge':stuAge.value,'stuGender':stuGenderValue,'stuScore':stuScore.value}
            return newStu;
        }

        //添加学生
        addStu.addEventListener("click",function(){
            if(addStu.innerHTML ==="添加学生"){
                if(stuName.value===''||stuAge.value===''||stuGender===''){
                    alert("信息不能为空");
                }
                else{
                    let newStu=makeNewStu();

                    stuInfo.push(newStu);

                    render(stuInfo);
                    localStorage.stuInfo =JSON.stringify(typeChange(stuInfo));

                    stuName.value='';
                    stuAge.value='';
                    stuGender[0].checked=true;
                    stuScore.value='';
                }

            }
            else{
                let newInfo = makeNewStu();
                stuInfo.splice(index,1,newInfo);
                render(stuInfo);
                localStorage.stuInfo=JSON.stringify(typeChange(stuInfo));
                addStu.innerHTML='添加学生';
                stuName.value='';
                stuAge.value='';
                stuGender[0].checked=true;
                stuScore.value='';
            }
        },false);
        //删除学生
        let delStu=function(i){
            if(window.confirm('确认是否要删除此学生')){
                stuInfo.splice(i,1);
                render(stuInfo);
                localStorage.stuInfo=JSON.stringify(typeChange(stuInfo));
            }
        }
        //修改
        let editStu=function(i){
            addStu.innerHTML='确认修改';
            stuName.value=stuInfo[i].stuName;
            stuAge.value=stuInfo[i].stuAge;
            if(stuInfo[i].stuGender===''){
                stuGender[0].checked=true;
            }
            else{
                stuGender[1].checked=true;
            }
            stuScore.value=stuInfo.stuScore;
            index=i;
        }
    </script>
< h1 >学生管理 </ h1 >
< div >
< label for= "stuName" >学生姓名: </ label >< input type= "text" name= "stuName" id= "stuName" >
</ div >

< div >
< label for= "stuAge" >学生年龄: </ label >< input type= "text" name= "stuAge" id= "stuAge" >
</ div >
< div >
< label for= "" >学生性别: </ label >
< label for= "male" ></ label >
< input type= "radio" name= "stuGender" id= "male" checked value= "男" >
< label for= "female" ></ label >
< input type= "radio" name= "stuGender" id= "female" value= "女" >
</ div >
< div >
< label for= "stuScore" >考试成绩: </ label >< input type= "text" name= "stuScore" id= "stuScore" >
</ div >
< button type= "" id= "addStu" >添加学生 </ button >
< tr >
 
</ tr >
< table id= "stuInfo" border= "1" cellspacing= "0" ></ table >
< script >
let tab= document. getElementById( "stuInfo");
let addStu= document. getElementById( "addStu");
let stuName= document. getElementById( "stuName");
let stuAge= document. getElementById( "stuAge");
let stuScore= document. getElementById( "stuScore");
let stuGender= document. getElementsByName( "stuGender");
let index= null;

let stuInfo = null;

let render= function( stuInfo){
tab. innerHTML= "";
if( stuInfo. length!== 0){
let thead= '<tr><th>学生姓名</th><th>学生年龄</th><th>学生性别</th><th>考试成绩</th><th>操作</th></tr>';
let tbody= '';
for( let i= 0; i< stuInfo. length; i++){
tbody += `<tr>
<td> ${ stuInfo[ i]. stuName } </td>
<td> ${ stuInfo[ i]. stuAge } </td>
<td> ${ stuInfo[ i]. stuGender } </td>
<td> ${ stuInfo[ i]. stuScore } </td>
<td><button onclick=editStu( ${ i } )>修改</button><button onclick=delStu( ${ i } )>删除</button></td>
</tr>`;
}
tab. innerHTML+= thead+ tbody;
}
else{
tab. innerHTML= "";
}

}


let typeChange= function( a){
if( Array. isArray( a)){
let obj={};
for( let key in a){
obj[ key]= a[ key];
}
return obj;

}
else{
let arr=[];
for( let key in a){
arr[ key]= a[ key];
}
return arr;
}
 
}

window. onload= function(){
if( localStorage. stuInfo === undefined){
let info ={
0 :{ 'stuName' : '谢杰', 'stuAge' : 18, 'stuGender' : '男', 'stuScore' : 100},
1 :{ 'stuName' : '雅静', 'stuAge' : 20, 'stuGender' : '女', 'stuScore' : 99},
2 :{ 'stuName' : '希之', 'stuAge' : 23, 'stuGender' : '男', 'stuScore' : 89},
}
localStorage. stuInfo= JSON. stringify( info);
stuInfo= typeChange( info);
}
else{
stuInfo = typeChange( JSON. parse( localStorage. stuInfo))
}
render( stuInfo);
}


let makeNewStu= function(){
let stuGenderValue= null;
for( let i= 0; i< stuGender. length; i++){
if( stuGender[ i]. checked === true){
stuGenderValue= stuGender[ i]. value;
}
}

let newStu={ 'stuName' :stuName. value, 'stuAge' :stuAge. value, 'stuGender' :stuGenderValue, 'stuScore' :stuScore. value}
return newStu;
}

//添加学生
addStu. addEventListener( "click", function(){
if( addStu. innerHTML === "添加学生"){
if( stuName. value=== ''|| stuAge. value=== ''|| stuGender=== ''){
alert( "信息不能为空");
}
else{
let newStu= makeNewStu();

stuInfo. push( newStu);

render( stuInfo);
localStorage. stuInfo = JSON. stringify( typeChange( stuInfo));

stuName. value= '';
stuAge. value= '';
stuGender[ 0]. checked= true;
stuScore. value= '';
}

}
else{
let newInfo = makeNewStu();
stuInfo. splice( index, 1, newInfo);
render( stuInfo);
localStorage. stuInfo= JSON. stringify( typeChange( stuInfo));
addStu. innerHTML= '添加学生';
stuName. value= '';
stuAge. value= '';
stuGender[ 0]. checked= true;
stuScore. value= '';
}
}, false);
//删除学生
let delStu= function( i){
if( window. confirm( '确认是否要删除此学生')){
stuInfo. splice( i, 1);
render( stuInfo);
localStorage. stuInfo= JSON. stringify( typeChange( stuInfo));
}
}
//修改
let editStu= function( i){
addStu. innerHTML= '确认修改';
stuName. value= stuInfo[ i]. stuName;
stuAge. value= stuInfo[ i]. stuAge;
if( stuInfo[ i]. stuGender=== '男'){
stuGender[ 0]. checked= true;
}
else{
stuGender[ 1]. checked= true;
}
stuScore. value= stuInfo. stuScore;
index= i;
}
< / script >

猜你喜欢

转载自www.cnblogs.com/13330893721zhy/p/11512389.html
今日推荐