viernes, 17 de junio de 2011

Evitar el Doble Click al pulsar un botón en ASP.Net

<script type="text/javascript">
function clickOnce(btn, msg) {
btn.value = msg;
btn.disabled = true;
return true;
}
</script>

<asp:Button ID="btnBuscar" runat="server" onclick="btnBuscar_Click"
OnClientClick="clickOnce(this, 'Procesando...')"
ValidationGroup="Procesar" UseSubmitBehavior="false"
Text="Buscar"/>


4 comentarios:

  1. Muy bueno me sivio mucho

    ResponderEliminar
  2. Por un momento crei que estaba perfecto amigo. Pero se deshabilita aunque los validadores indiquen falta de un dato. Siempre gracias.

    ResponderEliminar
  3. Para evitar lo que dice Moises, supongo que bastaría con crear otra función javascript que habilite el botón y que esta se registre desde la función "btnBuscar_Click" en caso de que la validación falle:

    protected void btnBuscar_Click(object sender, EventArgs e)
    {
    string js2 = "< script type=\"text/javascript\">"+
    "function restoreBut(btn, msg) {"+
    "btn.value = msg;"+
    "btn.disabled = false;"+
    "return true;"+
    "}";
    if (!Page.Validate("Procesar")
    {
    ClientScript.RegisterStartupScript(this.GetType(), "CodJavaSript", js2)
    }
    }

    ResponderEliminar
  4. Excelente solución, es perfecta. Gracias de verdad, me ahorraste muchas horas de trabajo.

    ResponderEliminar