人员添加页面 想让添加按钮点完之后变成灰色并禁用

人员添加页面   想让添加按钮点完之后变成灰色并禁用

问题描述:

添加按钮点完之后会有一个加载的过程  这个时候继续点添加按钮会把数据再录一遍 为了防止这个操作 就像把按钮在录数据的过程中变为灰色禁用掉  对前端不是很会 

使用button的disabled属性当点击添加后立即把disabled变为true然后等接口返回成功后变为false

大概是这样  jq的话有attr设置一搜就有

//伪代码
<button disabled="false" id="add">添加</button>

//js
let btn=document.getElementById("add");

btn.addListener("click",(){
 btn.disabled=true;
 ajax('url').then((res)=>{
   if(res.status==200){ //代表成功
   btn.disabled=false;
  }
 })
})
 

那录入完成后还可以点吗?那你干脆直接判断按下之后就给按钮禁用掉。录入完成以后再判断是否成功失败。如果成功就依旧禁用,如果失败就解禁

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>渲染流程</title>
    </head>
    <body>
        <button id='addBtutton' onclick='add()'>添加<button>
    </body>    
    <script>
        function add(){
            //进入开始请求后台阶段前
            var button = document.querySelector('#addBtutton')
            button.setAttribute('disabled','disabled')
            //你的后台请求成功替代setTimeout
		    setTimeout(()=>{
			    if(button.getAttribute('disabled')){
				    button.removeAttribute('disabled')
			    }
		    },1000)
        }
    </script>
</html>