Pregunta

Estamos presentando JQuery a una aplicación ASP.NET existente y usamos el Validar plugin para que JQuery haga la validación del lado del cliente (no queremos usar el asp validadores .net).

Todo funciona bien con el asp: control de botones. La validación del lado del cliente se activa antes de enviar la página.

Sin embargo, cuando se usan los controles LinkButton e ImageButton , la página se envía sin validar primero el formulario.

Esto se debe al hecho de que validar funciona con botones que se representan como Tipo de entrada = " enviar " mientras que ImageButton se representa como Tipo de entrada = " imagen " .

¿Alguien más ha experimentado esto?

Muchas gracias por ideas e información sobre cómo resolver.

Actualización:

Muchas gracias, sus respuestas ayudaron a identificar el problema. Resulta que hubo un error en el complemento de validación para JQuery. Utilizamos un parche para evitar la validación de los campos de entrada ocultos, que utiliza parent (). Filter (": hidden ") . Esto no funciona correctamente en JQuery 1.3.2 . Lo reemplazamos con .is (": visible ") . ¡Ahora el asp.net ImageButton funciona por defecto!

Actualización2:

El LinkButton todavía no funcionaba. La solución simple es agregar una función de clic que devuelve falso si el formulario no es válido:

$("#<%= tb.ClientID %>").click(function() {
            return $('form').valid();
        })
¿Fue útil?

Solución

La primera sugerencia podría funcionar porque puede provocar que la devolución de datos se active usando Javascript después de que se produzca la validación.

El javascript es:

__doPostBack('<%= YourImageControl.UniqueID %>','');

El segundo parámetro vacío se puede usar para pasar argumentos.

Otros consejos

No estoy seguro si esto ayudará, pero inténtalo ...

http://docs.jquery.com/Plugins/Validation/validate#options

$("input[type=image]").click(function() {
   $($(this).parents(form)).validate();
});

Es posible que deba reemplazar el " formulario " con algo más específico, pero traté de hacerlo lo más preciso posible sin saber cómo se presenta todo en su página. ¡Responda si esto ayuda!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top