我想让按钮点击后设为不可用,但是按钮就不执行postback了不知道什么原因
        bt_upload.Attributes.Add("onclick", "checkload();");<script language="javascript" type="text/javascript">
function checkload() 
{
   var id = '<%=this.bt_upload.ClientID%>';
     document.getElementById(id).disabled=true;
     document.getElementById(id).value="请稍候";
    }}
</script>

解决方案 »

  1.   

    代码视图中:
    <asp:Button id="bt_upload" runat="server" OnClientClick="checkload()" OnClick="bt_upload_Click" Text="上传"> </asp:Button>其中bt_upload_Click是服务器端click事件
      

  2.   

    <script   language="javascript"   type="text/javascript"> 
    function   checkload()   

            var id ='<%=this.bt_upload.ClientID%> '; 
              document.getElementById(id).click();
              document.getElementById(id).disabled=true; 
              document.getElementById(id).value="请稍候"; 
            } } 
    </script>
      

  3.   

    <asp:Button   id="bt_upload"   runat="server"   OnClientClick="checkload()"   OnClick="bt_upload_Click"   Text="上传">   </asp:Button> 
      

  4.   

    to: 1 5 楼
    楼主的这个 bt_upload.Attributes.Add("onclick",   "checkload();"); 代码和你们写的OnClientClick是一样的效果。
      

  5.   

    <script>
    window.onload = function bb()
    {
                      document.all["btn"].onclick = checkload;
    }
    function checkload()

    //你要执行的操作
    //

    //postback
    document.form[0].submit();
    }
    </script>
      

  6.   

    楼主你的 document.getElementById(id).disabled=true; 
    这行代码已经把button给disable掉了
    那肯定不会再触发他的OnClick事件了
      

  7.   

    bt_upload.Attributes.Add("onclick",   "checkload();"); 
    这段代码写到
    按钮单击事件中即可
      

  8.   

    this.btn_save.Attributes.Add("onclick"," this.disabled = true;this.value=\"Please wait...\"; __doPostBack('"+this.btn_save.ClientID+"','');");
    試下這個
      

  9.   

    javascript return一个false就不会postback了
      

  10.   

    我的方法不行吗!这是js调用后台的一个方法:
    <script   language="javascript"   type="text/javascript"> 
    function   checkload()   

            var id ='<%=this.bt_upload.ClientID%> '; 
              document.getElementById(id).click();/*在这里postedBack*/
              document.getElementById(id).disabled=true; 
              document.getElementById(id).value="请稍候"; 
            } } 
    </script>
      

  11.   

    OnClientClick="checkload();return false;"   
      

  12.   

    楼主要的是名为:clickoncebutton的东西,网上有现成的控件可用
      

  13.   

    一年前就关注了这个问题
    得到的答案是ASP.NET不能这样做.确实是不能这样做.并不是这个代码有问题.是这句不应该加上.
    document.getElementById(id).disabled=true; 加上这句就提交不了.
      

  14.   

    找到办法了,除了OnClientClick,还要设置一下UseSubmitBehavior="false",就可以了
    document.getElementById(id).click();我试了一下,应该是不行
      

  15.   

    我来总结一下:
    <asp:Button>默认是在客户端生成input type=submit的控件
    提交服务器方式就采用ie默认的submit方式,如果你禁用了,那么应该是提交不了了<asp:Button>设置UseSubmitBehavior="false"后,那么
    在客户端生成input type=button的控件,此时会自动生成onclick的提交代码
    ____doPostBack(),如果你禁用了,那么应该也提交不了了。所以说asp.net的所有控件说白了最终都是要生成html控件
    提交方式就这两种,而你已经禁止了控件,所以就没有办法在被禁止的控件上提交了。