none
Campo data e JavaScript RRS feed

  • Pergunta

  • Ja vi em vários sites um campo para informação de datas em que a medida que o usuário vai digitando, o campo se alto formata no formato dd/mm/yy, como fazer isto?
    Sergio Ivanenko
    domingo, 15 de novembro de 2009 16:21

Respostas

  • Fale, 

     

    Você pode fazer dessa forma:

     

    1- Criar um js  conforme a Listagem 1:

     

    Listagem 1:

    // Formata data no padrão DD/MM/YYYY

    function formataData(campo, evt) {

    //dd/MM/yyyy

    evt = getEvent(evt);

    var tecla = getKeyCode(evt);

    if (!teclaValida(tecla))

    return;

    vr = campo.value = filtraNumeros(filtraCampo(campo));

    tam = vr.length;

    if (tam >= 2 && tam < 4)

    campo.value = vr.substr(0, 2) + '/' + vr.substr(2);

    if (tam == 4)

    campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/';

    if (tam > 4)

    campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4);

    }

     

     

    2- No aspx você coloca o caminho do NomeArquivo.js e o controle TextBox veja a listagem 2;

     

    Listagem 2

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head runat="server">

        <title>Untitled Page</title>

        <script src="Mascara.js" type="text/javascript"></script></head>

    <body>

        <form id="form1" runat="server">

        <div>

    <asp:TextBox ID="txtData" runat="server" Width="100px"

                onKeyPress="return formataData(this,event);"

               ></asp:TextBox>

        </div>

        </form>

    </body>

    </html>

     

    ou 

    http://social.msdn.microsoft.com/Forums/pt-BR/aspnetpt/thread/0af2ab0a-0810-4580-a8db-723f04b11b5e
     


    Abraço!


    Se a resposta solucionar sua dúvida, favor - Votar como Útil Abraço!
    • Marcado como Resposta Ivanenko sexta-feira, 20 de novembro de 2009 23:53
    sexta-feira, 20 de novembro de 2009 12:15

Todas as Respostas

  • Olá,

    há algumas formas em JavaScript
    segue uma sugestão : http://maozinhadaweb.blogspot.com/2007/05/mscara-de-data-com-javascript_14.html

    outras :
    http://www.google.com.br/search?hl=pt-BR&source=hp&q=mascara+de+data+javascript&meta=&aq=0&oq=Mascara+de+Data+Jav

    espero que ajude

    []s
    Marcelo Ramos
    http://www.marceloramos.net/Blog

    Marcelo Ramos
    domingo, 15 de novembro de 2009 17:52
  • Um alternativa muito mais facil seria você usar AJAX,  no ajax tool kit existe um componente chamado MaskedEditExtender, que você arrasta ele para o webform, depois associa a textbox a este componenet, isso fará com que apareça outras propriedades na caixa de texto, encontre a propriedade "mask" e coloque isso   99\/99\/9999  la.


    domingo, 15 de novembro de 2009 20:21
  • Fale, 

     

    Você pode fazer dessa forma:

     

    1- Criar um js  conforme a Listagem 1:

     

    Listagem 1:

    // Formata data no padrão DD/MM/YYYY

    function formataData(campo, evt) {

    //dd/MM/yyyy

    evt = getEvent(evt);

    var tecla = getKeyCode(evt);

    if (!teclaValida(tecla))

    return;

    vr = campo.value = filtraNumeros(filtraCampo(campo));

    tam = vr.length;

    if (tam >= 2 && tam < 4)

    campo.value = vr.substr(0, 2) + '/' + vr.substr(2);

    if (tam == 4)

    campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/';

    if (tam > 4)

    campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4);

    }

     

     

    2- No aspx você coloca o caminho do NomeArquivo.js e o controle TextBox veja a listagem 2;

     

    Listagem 2

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head runat="server">

        <title>Untitled Page</title>

        <script src="Mascara.js" type="text/javascript"></script></head>

    <body>

        <form id="form1" runat="server">

        <div>

    <asp:TextBox ID="txtData" runat="server" Width="100px"

                onKeyPress="return formataData(this,event);"

               ></asp:TextBox>

        </div>

        </form>

    </body>

    </html>

     

    ou 

    http://social.msdn.microsoft.com/Forums/pt-BR/aspnetpt/thread/0af2ab0a-0810-4580-a8db-723f04b11b5e
     


    Abraço!


    Se a resposta solucionar sua dúvida, favor - Votar como Útil Abraço!
    • Marcado como Resposta Ivanenko sexta-feira, 20 de novembro de 2009 23:53
    sexta-feira, 20 de novembro de 2009 12:15