none
Mascara de parcelas em TextBox RRS feed

  • Pergunta

  • Eai pessoal!

    Preciso adicionar uma mascara em um textbox que ''divida'' ela em X parcelas (onde X vai ser o numero de parcelas digitado pelo usuario)

    Não faço ideia de como posso fazer isso.

    Alguma ideia?

     

    Obrigado.

    segunda-feira, 25 de abril de 2011 13:49

Respostas

  • Oi,

    Não entendi muito bem o formato que deseja, mas acho que este artigo pode ajudar : http://www.bufaloinfo.com.br/artigos/Artigo2301.asp

    Abs,

    Dennes
    http://www.bufaloinfo.com.br
    http://twitter.com/Dennes


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp
    • Sugerido como Resposta Luiz Estevam segunda-feira, 25 de abril de 2011 17:44
    • Marcado como Resposta Angelo Volpi segunda-feira, 25 de abril de 2011 18:49
    segunda-feira, 25 de abril de 2011 14:15
  • Valeu Dennis, mas consegui o que eu queria, de uma forma um pouco mais simples.

    Utilizei javascript pra formatar a mascara.

    function formatar(src, mask){
          var i = src.value.length;
          var saida = mask.substring(0,1);
          var texto = mask.substring(i)
          if (texto.substring(0,1) != saida)
          {
            src.value += texto.substring(0,1);
          }
        }
    

     

    E no evento text_changed do campo que pega a quantidade de parcelas eu fiz isso.

        Dim i As Integer
        Dim formataPrazo As String = ""
    
        For i = 1 To txtNumeroParcelas.Text
          If i = txtNumeroParcelas.Text Then
            formataPrazo += "###"
          Else
            formataPrazo += "###/"
          End If
        Next
    
        txtPrazoParcelas.MaxLength = Len(formataPrazo)
        txtPrazoParcelas.Attributes.Add("onkeyup", "formatar(this,'" & formataPrazo & "')")
    
    

    • Marcado como Resposta Angelo Volpi segunda-feira, 25 de abril de 2011 18:49
    segunda-feira, 25 de abril de 2011 18:49

Todas as Respostas

  • Oi,

    pode utilizar JQuery

    http://api.jquery.com/blur/


    Erysson Barros Blog de Erysson Barros Twitter de Erysson Barros
    (Salmos 128:1) - BEM-AVENTURADO aquele que teme ao SENHOR e anda nos seus caminhos.
    segunda-feira, 25 de abril de 2011 13:59
  • Oi,

    Não entendi muito bem o formato que deseja, mas acho que este artigo pode ajudar : http://www.bufaloinfo.com.br/artigos/Artigo2301.asp

    Abs,

    Dennes
    http://www.bufaloinfo.com.br
    http://twitter.com/Dennes


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp
    • Sugerido como Resposta Luiz Estevam segunda-feira, 25 de abril de 2011 17:44
    • Marcado como Resposta Angelo Volpi segunda-feira, 25 de abril de 2011 18:49
    segunda-feira, 25 de abril de 2011 14:15
  • Oi,

    Não entendi muito bem o formato que deseja, mas acho que este artigo pode ajudar : http://www.bufaloinfo.com.br/artigos/Artigo2301.asp

    Abs,

    Dennes
    http://www.bufaloinfo.com.br
    http://twitter.com/Dennes


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp


    Por exemplo:

    Vai haver um campo "Numero Parcelas" e um campo "Prazo".

    Se o usuario digitar 3 em "Numero Parcelas", o campo "Prazo" vai ser formatado assim:

    XX/XX/XX.

    segunda-feira, 25 de abril de 2011 14:36
  • Oi,

    O campo "prazo" é mesmo para entrada de dados ou só para exibição ?

    Se for só para exibição, um simples string.format resolveria.

    Abs,

    Dennes
    http://www.bufaloinfo.com.br
    http://twitter.com/Dennes

     


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp
    segunda-feira, 25 de abril de 2011 14:41
  • Oi,

    O campo "prazo" é mesmo para entrada de dados ou só para exibição ?

    Se for só para exibição, um simples string.format resolveria.

    Abs,

    Dennes
    http://www.bufaloinfo.com.br
    http://twitter.com/Dennes

     


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp


    é para entrada de dados.

    o usuario vai colocar o prazo das parcelas, tipo 30/60/90

    segunda-feira, 25 de abril de 2011 14:43
  • Oi,

    Então se eu colocar 90/150/210 o sistema aceitará ?

    Muito estranha essa entrada de dados. Fico com a impressão que seu sistema deveria ter um conjunto específico de opções de parcelas e utilizar uma dropdownlist com as opções, não uma textbox, será que não ficaria melhor ?

    Abs,

    Dennes
    http://www.bufaloinfo.com.br
    http://twitter.com/Dennes

     


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp
    segunda-feira, 25 de abril de 2011 15:01
  • Oi,

    Então se eu colocar 90/150/210 o sistema aceitará ?

    Muito estranha essa entrada de dados. Fico com a impressão que seu sistema deveria ter um conjunto específico de opções de parcelas e utilizar uma dropdownlist com as opções, não uma textbox, será que não ficaria melhor ?

    Abs,

    Dennes
    http://www.bufaloinfo.com.br
    http://twitter.com/Dennes

     


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp


    Eu preciso que seja em um textbox, pois o usuario pode definir como ele quiser as parcelas.

    A unica restrição, vai ser na quantidade de parcelas. Que vai ser definida no numero de parcelas.

     

    segunda-feira, 25 de abril de 2011 15:08
  • Oi,

    O exemplo da textbox com máscara que indiquei mais acima é o ideal para você, basta ajustar o script da máscara.

    Abs,

    Dennes
    http://www.bufaloinfo.com.br
    http://twitter.com/Dennes

     


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp
    segunda-feira, 25 de abril de 2011 15:46
  • Angelo , o mais facil e voce usar o MaskedEdit do Ajax, veja o link abaixo :

    http://www.asp.net/ajax/ajaxcontroltoolkit/samples/maskededit/maskededit.aspx

    Abs

     


    Heber da Silva Moreira ASP.NET Developer
    segunda-feira, 25 de abril de 2011 18:29
  • Valeu Dennis, mas consegui o que eu queria, de uma forma um pouco mais simples.

    Utilizei javascript pra formatar a mascara.

    function formatar(src, mask){
          var i = src.value.length;
          var saida = mask.substring(0,1);
          var texto = mask.substring(i)
          if (texto.substring(0,1) != saida)
          {
            src.value += texto.substring(0,1);
          }
        }
    

     

    E no evento text_changed do campo que pega a quantidade de parcelas eu fiz isso.

        Dim i As Integer
        Dim formataPrazo As String = ""
    
        For i = 1 To txtNumeroParcelas.Text
          If i = txtNumeroParcelas.Text Then
            formataPrazo += "###"
          Else
            formataPrazo += "###/"
          End If
        Next
    
        txtPrazoParcelas.MaxLength = Len(formataPrazo)
        txtPrazoParcelas.Attributes.Add("onkeyup", "formatar(this,'" & formataPrazo & "')")
    
    

    • Marcado como Resposta Angelo Volpi segunda-feira, 25 de abril de 2011 18:49
    segunda-feira, 25 de abril de 2011 18:49