2011-04-06 21 views
5

Estoy deshabilitando mis botones de envío al enviar un formulario, para evitar que el usuario envíe el formulario varias veces.Cómo ejecutar un script después de la validación del cliente en asp.net mvc

$(function() 
{ 
    $("form").submit(function() 
    { 
     $(":submit", this).attr("disabled", "disabled"); 
    }); 
}); 

Pero si la validación del cliente falla, quiero habilitar el botón nuevamente. Estoy utilizando asp.net mvc cliente no intrusivo validación

Respuesta

2

Puede utilizar el evento jQuery One como se detalla en this answer.

La mayoría de las soluciones a este problema giran en torno a las pruebas $ ("formulario"). Válido() - probablemente podría usar esto en su función para determinar si se deshabilita el botón de envío.

+0

Si es la única forma en la página, debe haber una variable booleana global "Page_IsValid" que puede usar para determinar si el botón debe estar deshabilitado. La API de validación del lado del cliente se explica aquí: http://msdn.microsoft.com/en-us/library/aa479045.aspx#aspplusvalid_clientside – geon

0

usted tiene que comprobar si hay cualquier error antes de deshabilitar el botón de enviar

$('#myform').submit(function() { 
    if ($(this).find('.input-validation-error').length == 0) { 
     $(this).find(':submit').attr('disabled', 'disabled'); 
    } 
}); 

espero que ayude!

Cuestiones relacionadas