asp.net做的 提交信息页面. 点击服务器按钮"提交"后会写入页面信息到数据库中.现在有个问题:网速慢的时候,可能会点击多次,就会提交多个相同的数据.怎么在客户端用js控制点击按钮后,把这个按钮禁用,只让它被点击一次?

解决方案 »

  1.   

    button1.Attribute.Add("onclick","this.disable=true")
      

  2.   

    看本页源文件
    function input(ok)
    {
        var M1=ok.ReplyContent.value;
        if (M1=='') {
    alert('回复内容不可以为空.');
    return false;
    }
    ok.B1.disabled =true;
    ok.B2.disabled =true;
        return true;
    }
    //-->
    </SCRIPT>
    </HEAD>
    <BODY>

    <form action="/Expert/reply.asp" onsubmit="return input(this)" method="post" id="XmlRePly"
      

  3.   

    <%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">  protected void Page_Load(object sender, EventArgs e)
      {
        
        Page.ClientScript.RegisterOnSubmitStatement(Page.GetType(), "js", "document.getElementById('" + Button1.ClientID + "').disabled=true;");
      }  protected void Button1_Click(object sender, EventArgs e)
      {
        Response.Write("处理");
      }
    </script><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
          <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" UseSubmitBehavior="false" /></div>
        </form>
    </body>
    </html>
      

  4.   

    asp.net 2.0中 UseSubmitBehavior="false" 是必须的,否则,无法进行提交
      

  5.   


    cs:button1.Attribute.Add("onclick","setWait()");
    <script>
    function setWait(o)
    {
    document.getElementById("idcheck").disabled=false;
    setTimeout('document.getElementById("idcheck").disabled=false',9000);
    }
    </script>
      

  6.   

    按钮上(id="btnsubmit")添加onclientclick事件,如onclientclick="btn_setwait()"<script language="javascript">
    function btn_setwait()
    {
    document.getElementById("btnsubmit").disabled=true;
    }
    </script>