我做了一个图片上传页,里面没有form表单,只有一个upload和一个button,当点button时,调用button事件。
现在我想加个js当点这个button时,button.disabled=true;可在js 里这样写的话,那个事件就不会提交了。怎么样即能让button.disabled=true后,又能调用它的对应事件。
代码:
本地图片上传:<asp:FileUpload ID="filImage" Runat="server" onchange="uploadimg(this.value)" />
<asp:Button ID="btnUpload" OnClientClick="validupload()" Runat="server" Text="上传" OnClick="btnUpload_Click" /><script>
function validupload(){
btnUpload.disabled=true;
//我想在这里调用button的事件。怎么写,或其它方法也行?
}
</script>button在触发的事件:
Sub btnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs)
{

}

解决方案 »

  1.   

    在btnUpload_Click里面写这个控件的disabled行吗?
      

  2.   

    或者把btnUpload.disabled=true;写在validupload的最后 能行吗??
      

  3.   

    document.getElementById('ButtonID').click()
      

  4.   

    如果你在前台把按钮设置为disabled,那么之后的脚本正常来说就不会执行了。所以得用点非常规手段。给你个参考吧,当时我也遇到过这么个需求,不过处理的是个服务器端的控件。当时的效果就是点击服务器端控件之后,按钮本身变灰,之后相应按钮的服务器端代码。在后台这样写,假设服务器端按钮的id为btnOK:
    btnOK.Attributes.Add("onclick","this.disabled = 'true';" + GetPostBackEventReference(btnOK)");
    应该可以,试试吧,用不着把服务器端按钮隐藏起来再放个HTML按钮去点的
      

  5.   

    从你的实际情况看只要把btnOK换成btnUpload应该就管用了
      

  6.   

    我的做法是在这个按钮后面放一个disabled的外观相同的按钮,设为不可见. 点击之后,当前前按钮隐藏, 将隐藏的按钮设为可见. 哈哈. 效果跟真的一样
      

  7.   

    03还是 05 ?03的话直接调用 __doPostBack,05话是另外一个函数
      

  8.   

    执行后设置button为不可见或不可用啊,是这个意思不  btn.Enabled = false;   //不可用
      btn.Visible = false;  //不可见