Ir para conteúdo
Fórum Script Brasil
  • 0

Autocompletar data (Ano)


George Gomes

Pergunta

7 respostass a esta questão

Posts Recomendados

  • 0

Tente algo assim no evento onblur do campo:

function AutoCompleta(){
var valor=this.value
if(valor.length==8){
var a=valor.split("/")
a[2]="20"+a[2]
this.value=a.join("/")
}
}
E o HTML
<input type="text" onblur="AutoCompleta()">

Obs.:

Não cheguei a testar, mas deve funcionar

Link para o comentário
Compartilhar em outros sites

  • 0

entaum cara não deu certo esse código ai mas assim eu tenho uma função q faz isso só q esta errada

ela esta trocando o dia pelo mês exemplo: se eu digitar 12/10/09 ele coloca 12/20/2012, se eu colocar 13/10/09 ele coloca 13/10/2013 entende!

ele joga para o próximo ano !!

o código est abaixo

// INICIALIZA VARIÁVEIS DE VALIDAÇÃO DE FORMATO COMO FALSAS //
    var temD = false;
    var temM = false;
    var temY = false;
    
    // INICIA O TAMANHO PARA CADA VARIÁVEL COMO 1 CARACTER //
    var tamD = 0;
    var tamM = 0;
    var tamY = 0;
    
    // VERIFICA A POSIÇÃO EM QUE SE ENCONTRA CADA VARIÁVEL //
    var posM = forma.indexOf('d');
    var posD = forma.indexOf('M');
    var posY = forma.indexOf('y');
    
    // VERIFICA QUAIS VARIÁVEIS FORAM LOCALIZADAS //
    if (posM > -1) tamM = 1;
    if (posD > -1) tamD = 1;
    if (posY > -1) tamY = 1;
    
    if (tamY == 0) return d1;
    
    // VERIFICA QUANTIDADE DE CARACTERES PARA CADA VARIÁVEL //
    if (tamD > 0) {
        pos = posD + 1;
        car = forma.substring(pos, pos + 1);
        while (car == 'M') {
            tamD += 1;
            pos += 1;
            car = forma.substring(pos, pos + 1);
        }
    }
    
    if (tamM > 0) {
        pos = posM + 1;
        car = forma.substring(pos, pos + 1);
        while (car == 'd') {
            tamM += 1;
            pos += 1;
            car = forma.substring(pos, pos + 1);
        }
    }
    
    total = tamD + tamM;
    if (tamM >0 && tamD > 0) total += 1;
    var mydate = new Date();
    var theyear = mydate.getFullYear();
    var d2;
    
    if (d1 == '') {
        
        d2 = d1;
        
    } else if (d1.length < total) {
        d2 = d1;
    } else if (d1.length == total) {
        d2 = d1 + '/' + theyear;
    } else {
        mydate = new Date(d1);
        
        var theyear = mydate.getFullYear();
        
        var ano = new String(theyear);
        
        if (theyear < 1980) theyear = '20' + ano.substring(2);
        
        d2 = d1.substring(0, 6) + theyear;

}
    return d2;
    
}

Link para o comentário
Compartilhar em outros sites

  • 0

Pensei que o único objetivo fosse um auto-completar para o ano

Acabei de construir uma função que faz isso.

Tente assim:

function valida(v){
            var a=v.split("/")
            var dia=a[0]
            var mes=a[1]
            var ano=a[2]
            for(var i=0;i<2-dia.length;i++){
                dia="0"+dia
            }
            for(var i=0;i<2-mes.length;i++){
                mes="0"+mes
            }
            if(ano.length==1){
                ano="200"+ano
            }else if(ano.length==2){
                ano="20"+ano
            }
            return dia+"/"+mes+"/"+ano
        }

Link para o comentário
Compartilhar em outros sites

  • 0

ENtaum cara você testou esse código q eu coloquei???

eu tenho essa função só q essa função ai troca o dia pelo mês exemplo!!!

se eu digitar 12/10/09 ele completa 12/10/2009 certo é isso mesmo para completar !!

até aqui tudo bem !!

mas já se eu coloco no dia um valor acima de 12 exemplo 13/10/09 ele joga 13/10/2010,

ele esta jogando um ano depois entende !!

você manja tenta analizar esse código testa ele e vê o que dá cara !!

estou precisando muito disto

vlw

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...