Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wellington.a.gomes

input com dois eventos

Recommended Posts

Boa tarde amigos,

gostaria de uma ajuda.

 

Tenho um script que valida a data de um campo.

 

Ao clicar no campo ele aparece o calendário. Caso eu apague algum digito é exibida uma mensagem de erro. Até ai tudo certo.

 

Porém se eu clicar novamente no campo o calendário não aparece mais, mesmo apagando o campo.

 

E o outro evento que checa o campo continua funcionando normalmente.

 

Obs: Para o calendário estou usando o datepicker.

 

Segue o codigo:

<input type="date" class="form-control" rel="data" id="datepicker" placeholder="Ex: 01/01/1990" name="data_nascimento">
    $.fn.maskData = function (e) {
        if ($.browser.mozilla) {


            $('input[id=datepicker]').datepicker({
                format: 'dd/mm/yyyy',

                weekStart: 0,
                startDate: '0d',
                todayHighlight: true,
                autoClose: true
            });

            $(this).blur(function () {

                var data = $(this).val();
                var id = $(this).attr('id');
                data = data.replace(/\D/g, '');
                var data_tamanho = data.length;
                var msg_erro = 'Data inválida';

                if (data_tamanho == 8) {
                    $('.' + id).remove();
                    $(this).css('border', '');
                    data = data.replace(/(\d{2})(\d{2})/, "$1/$2/")
                    $(this).val(data);
                } else {
                    if (data_tamanho < 1) {
                        $('.' + id).remove();
                        $(this).css('border', '');

                    } else {

                        $('.' + id).remove();
                        $(this).css('border', '1px solid #ff0000');
                        $(this).after('<span class="' + id + ' erro btn btn-danger">' + msg_erro + '</span>');
                        $('#' + id).focus();

                    }
                }

            })
        }
}

Obs: Valido se o navegador é mozilla pois uso o "type=date" e funciona somente no chrome e Edge.

 

Obrigado a todos que puderem ajudar.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.