George Gomes Postado Junho 23, 2009 Denunciar Share Postado Junho 23, 2009 Eai Rapaziada !! é o seguinte!sou novo no javascript!queria saber se alguém tem alguma função que autocomplete a ano na data exemplo:o usuário digita 20/12/09ai autocompleta assim q ele sair do campo com 20/12/2009 se alguém poder ajudar fico grato Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Junho 23, 2009 Denunciar Share Postado Junho 23, 2009 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 George Gomes Postado Junho 24, 2009 Autor Denunciar Share Postado Junho 24, 2009 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; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Junho 24, 2009 Denunciar Share Postado Junho 24, 2009 Pensei que o único objetivo fosse um auto-completar para o anoAcabei 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 } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 George Gomes Postado Junho 25, 2009 Autor Denunciar Share Postado Junho 25, 2009 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Junho 25, 2009 Denunciar Share Postado Junho 25, 2009 Não cheguei a testar o código que você fezMas fiz outro que faz a mesma coisa Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 George Gomes Postado Junho 25, 2009 Autor Denunciar Share Postado Junho 25, 2009 Entaum cara o seu código não funcionou não !!! cara você q manja peço por favor para me ajudar !!testa esse código ai q eu passei !! e vê se consegue alterar o erro de trocar o mes pelo dia !!grato ..agradeço muito se poder ajudar !! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Junho 25, 2009 Denunciar Share Postado Junho 25, 2009 Testei o código no IE8, Google Chrome e Firefox...Funcionou perfeitamenteComo está o código HTML do campo data ?O correto seria assim:<input type="text" onblur="this.value=valida(this.value)" /> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
George Gomes
Eai Rapaziada !!
é o seguinte!
sou novo no javascript!
queria saber se alguém tem alguma função que autocomplete a ano na data exemplo:
o usuário digita 20/12/09
ai autocompleta assim q ele sair do campo com 20/12/2009
se alguém poder ajudar fico grato
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
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.