请问如何设计 点击一个按钮后禁用按钮,执行完事件后再启用按钮?

解决方案 »

  1.   

    enabled  先 false  后 true  
      

  2.   

    楼上的回答已经相当精彩了,我采用一种使用AJAX访问服务端的信息放回结果JS决定是否禁用按钮,实际情况看你的需求而定
      

  3.   

    点击按钮后把Enable设为false,执行完后再设为true
      

  4.   

    上面都是误人子弟啊,不知道你们试过没有,如果是服务器控件,设置Enable属性要回发到服务器,根本没用。如果用js的话就没办法提交。这个问题不是那么好解决的,用ajax会好一点。我现在做这个功能就是用jquery+ajax+webservice
      

  5.   

    jquery调用ajax beforeSend中将设置disenable ,success中enable
      

  6.   


    //登录
    function login(usernameId,pwdId,codeId){ 
        suspendBtn(btnSubmit);
        
        $.ajax({
        url: '/admin/WebService1.asmx/Login',
        type: 'POST',
        dataType:"xml",
        contentType :"application/x-www-form-urlencoded;charset=utf-8",
        data:{username:username.value,strPwd:pwd.value},
        success: function(msg){
            if(msg.text=="false"){
                alert("请填写正确的用户名密码!");
                username.select();
            }else{
                openWindow("default.aspx",true);
            }
        },
        error: function(x, e) {
            alert(x.responseText);
        }});
        
        resumeBtn(btnSubmit);
    }//挂起按钮
    function suspendBtn(btn){
        btn.disabled="disabled";
        btn.value="正在登录";
    }//恢复按钮
    function resumeBtn(btn){
        btn.disabled="";
        btn.value="提交";
    }
      

  7.   

    Btn_submit.Attributes["onclick"] = this.GetPostBackEventReference(this.Btn_submit) + ";this.disabled=true;";
      

  8.   

    给服务器控件增加属性:OnClientClick="document.forms[0].submit();disabled=true;"
      

  9.   

    大家好,我又学习了!
    经过实验,Btn_submit.Attributes["onclick"] = this.GetPostBackEventReference(this.Btn_submit) + ";this.disabled=true;";这个可以禁用按钮,执行完之后用Btn_submit.Style.Remove("disabled");可以启用按钮。用OnClientClick的话服务器端代码就不执行了,这个没用!