Dica - Limitando a quantidade caracteres em um TextBox do tipo Multiline | ASP.NET | Forum | C# Brasil


Dica - Limitando a quantidade caracteres em um TextBox do tipo Multiline | ASP.NET | Forum

Login form protected by Login LockDown.


 
Você precisa fazer login para escrever mensagens Login Registrar


Registrar? | Recuperar Senha?

Pesquisar Fóruns:


 






Minimum search word length is 4 characters – Maximum search word length is 84 characters
Uso do Curinga nas Pesquisa:
*  igual a qualquer número de caracteres    %  igual a exatamente um caractere

Dica – Limitando a quantidade caracteres em um TextBox do tipo Multiline
Leia a postagem original

UsuárioMensagem

14:07
5 agosto 2010


Raphael Cardoso

Admin

editoriais 87

Você já tentou utilizar o MaxLength do TextBox quando esse esta com TextMode igual a MultiLine?

No TextBox o TextMode é uma propriedade na qual definimos o tipo de campo será ele. Existem 3 tipos:

  • SingleLine: após renderizado o HTML, será gerado um simples input do tipo Text;
  • Password: será gerado um input do tipo Password;
  • MultiLine: diferente dos anteriores será gerado um TextArea e esse não possui a propriedade MaxLength.


Para que possamos contornar essa situação, poderemos utilizar JavaScript para limitar a quantidade de caracteres digitados no TextBox.

Essa dica pode ser utilizada também em projetos ASP.NET com VB.NET ou até mesmo aplicá-las em projetos onde será desenvolvido com puro HTML, basta nesse caso fazer algumas adaptações.

Primeiro adicionaremos ao nosso Page_Load da página uma linha onde será incluído o atributo maxlength ao nosso TextBox com o valor definido.

<br />
// Inclui o atributo maxlength<br />
TextBox1.Attributes.Add("maxlength", "400");<br />
// Inclui o atributo onkeyup<br />
TextBox1.Attributes.Add("onkeyup", "return ismaxlength(this);");<br />


Após isso, adicionaremos então nosso JavaScript a página. Essa JavaScript será o responsável em limitar o numero de caracters no TextBox.

</p>
<p>    function ismaxlength(obj)<br />
    {<br />
        var mlength = obj.getAttribute ? parseInt(obj.getAttribute("maxlength")) : ""<br />
        if (obj.getAttribute &amp;&amp; obj.value.length &gt; mlength)<br />
        {<br />
            obj.value = obj.value.substring(0, mlength)<br />
        }<br />
    }</p>
<p>

Vale lembrar que não é necessário utilizar esse método quando o TextMode for do tipo SingleLine ou Password pois o MaxLength funciona nativamente em ambos.

Espero que essa dica seja útil.

Abraço e até a próxima.


Leia a postagem original



About the C# Brasil Forum

O fuso horário do Fórum:UTC -3

Maior Número de Usuários Online: 31

Online Agora:
1 Visitante

Atualmente navegando Tópico:
1 Visitante

Estatísticas do Fórum:

Grupos: 1
Fóruns: 16
Tópicos: 183
Editorias: 380

Grupo de Usuários:

Existem 1684 Membros

Existem 3 Admins

Participantes mais ativos:

Gabriel Gomes – 14
Lucas Bessa – 7
listmaier – 7
Diego Canedo – 7
Anderson Bernardi – 7
Mauricio Naozuka – 6

Novos Membros Recentes: valdecirsi, filipematos89, userkdu, valdecirfrancisco, salcedocosta, edsonoliver

Administradores: Raphael Cardoso (87 Mensagens), Rodrigo Coimbra (5 Mensagens), Thiago Suzuki (4 Mensagens)