Pergunta

Estamos introduzindo JQuery para uma aplicação ASP.NET existente e usar o Validar plug-in para JQuery para fazer a validação do lado do cliente (que não queremos usar o asp .net validadores).

Tudo funciona muito bem com o controle asp: Button. A validação do lado do cliente é acionado antes que a página é submetida.

No entanto, quando usando o LinkButton e ImageButton controles da página é apresentado sem validar o formulário pela primeira vez.

Isto é devido ao fato de que as obras Valide com botões que são processados ??como o tipo de entrada = "submit" , enquanto o ImageButton processa como tipo de entrada = "image" .

Qualquer outra pessoa experimentou este?

Muito obrigado por idéias e informações sobre como resolver.

Update:

Muito obrigado, suas respostas ajudaram a identificar o problema. verifica-se que havia um bug no plugin de validação de JQuery. Nós usamos um patch para evitar a validação de campos de entrada ocultos, que usa pais () filtro. ( ": Hidden") . Isso não funciona adequadamente em JQuery 1.3.2 . Nós substituiu-o com .is ( ": visíveis") . Ora, as obras asp.net ImageButton por padrão!

Update2:

O LinkButton ainda não funcionou. A solução mais simples é adicionar uma função de clique que retorna false se o formulário não é válido:

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

Solução

A primeira sugestão pode ainda trabalho, porque você pode causar a postagem de fogo usando Javascript após a validação ocorre.

O javascript é:

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

O segundo parâmetro vazio pode ser usado para passar argumentos.

Outras dicas

Não sei se isso vai ajudar, mas dar-lhe um tiro ...

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

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

Pode ser necessário substituir a "forma" com algo mais específico, mas eu tentei para obtê-lo o mais preciso possível, sem saber como tudo é colocado para fora em sua página. Responder se isso ajuda!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top