Pergunta

Estou tendo um problema com um projeto em que estou trabalhando no momento que está usando o Validação O plug -in para jQuery, quando o erro de validação aparece, estou aplicando dinamicamente uma tag de âncora com um onclick. E é este onclick é o problema ...

Na primeira vez em que o erro de validação aparece, tenho que clicar no link duas vezes para que o evento OnClick seja disparado.

Eu dei uma olhada na página através da barra de ferramentas de desenvolvedor do IE, e a âncora está envolvendo a mensagem de validação corretamente, com o onlick e todos os arquivos JavaScript necessários estão anexados

O que acontece? Quaisquer sugestões seriam muito apreciadas :)

Editar: trechos de código adicionados

jQuery(document).ready(function() {
        jQuery('#group-edit-form').validate({
            rules: {
                title: {
                    required: true,
                    remote: '<%=Url.Action("ValidateGroupName", new { id = ViewData["GroupId"] }) %>?parentId=' + getParentId()
                }
            },
            messages: {
                title: {
                    required: getMessage (7002),
                    remote: '<%= ((MessagingModel)ViewData["Messages"]).GetMessage (9001) %>'
                }
            }
        })

    });
    function getMessage(messageId) {
        var message = "<a id='errorMessageAnchor_" + messageId + "' onclick='messageBuilder(" + messageId + ")'><%= ((MessagingModel)ViewData["Messages"]).GetMessage (7002) %></a>";

        return message;
    }
Foi útil?

Solução

É o evento Blur que está interferindo no clique da âncora.

Você pode escolher uma dessas opções:

  • Desativar a validação no evento Blur com onfocusout:false
  • Desativar definir o foco em um elemento inválido com focusInvalid:false
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top