1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Dúvida em javascript.

Discussão em 'Web Development' iniciada por Pescador12, 15 de Maio de 2007. (Respostas: 7; Visualizações: 1685)

  1. Pescador12

    Pescador12 Power Member

    Boas

    Estou a fazer uma página que tem uma textarea, que é suposto crescer consoante o tamanho do texto. Mas tenho um problema, pois são textos com limite de 1000 caracteres, mas que se inserirmos muitos enters, podemos fazer um texto com centenas de linhas. Entaõ queria saber se há alguma forma de limitar o Nº de linhas.

    Assim a textarea teria no máximo 16 linhas por exemplo, mas que se fosse inserido 2 linhas, apenas aparecia uma textarea com esse 2 linhas. Caso fosse fazer o display de um texto com mais de 16 linhas, aparecia uma textarea com 16 linhas e aparecia também a barra de scroll.

    Neste momento falta-me que limite o nº de linhas e ponha a scroll bar.

    Código:
    <textarea name="shortDescription" readonly rows="1" cols="70" style="overflow: visible; text-align:left;"><%=shortDescription%></textarea>
    Agradeço qualquer ajuda...
     
  2. OldMan

    OldMan Power Member

    http://www.asciitable.com/
    procuras ai o codigo do ENTER ou algo parecido e e' por ai que vais controlar o numero de linhas.

    o codigo ao certo para controlar isso nao sei, mas tu has-de saber ;)
     
  3. HecKel

    HecKel The WORM

    O código ascii para o enter é o 13 (0xD), mas para mudar de linha é necessário uma combinação de 2 códigos (pelo menos em assembly), ou 10 (0xA) e o 13 (0xD) para fazer o CrLf.

    Não sei se ajuda de alguma coisa...

    abraços, HecKel
     
  4. Pescador12

    Pescador12 Power Member

    Não sei se percebi bem a vossa resposta...

    Mas pelo que percebi dizem para procurar o enter em cada linha (final da linha), e assim quando chegar a x enters, quer dizer que atingiu o limite. Será isso?

    Agora temos um problema porque o texto poderá não ter nenhum ENTER, mas ter que mudar de linha à mesma... Pois o IE faz isso automaticamente, de forma a não precisar de scroll horizontal. E até é uma propriedade que me dá jeito...

    Isto está complicado!
     
  5. OldMan

    OldMan Power Member

    nesse caso que tinhas falado o que tens que ter atencao e' à quantidade de caracteres, porque sem carregares no enter e' impossivel atingires 10linhas (por exemplo nesta caixa de texto onde se escreve o comment) com 20 caracteres.
    mas se alternares entre um "A" e um "ENTER" com 10 caracteres (excluindo os ENTERs de serem caracteres) tens 10 linhas.

    concluindo, penso que a solucao sera teres uma funcao sempre a correr que vai fazendo a contagem dos caracteres e outra que vai contando os ENTERS e quando uma delas exeder o limite que queres dar fazes qualquer coisa.
    outra maneira seria fazer a contagem depois de se submeter um post (se for esse o caso), por exemplo eu escrevo tudo que quiser e faco "submeter", na pagina em que ele iria introduzir o post na BD fazes a contagem dos caracteres/enters e vez se pode ou nao seguir para a BD
     
  6. Pescador12

    Pescador12 Power Member

    Pois, o problema é que os caracteres não têm todos o mesmo tamanho, e sem contar que um user pode alterar o tamanho e font.

    Mas parece que dei a volta ao problema... Coloquei entre <div> e assim meto um scroll lá, consoante a necessidade. Parece-me simples.

    Obrigado a todos
     
  7. OldMan

    OldMan Power Member

    lol, tanta coisa pra meter la um div :-D
     
  8. Pescador12

    Pescador12 Power Member

    Ya... lol.

    Mas esta a funcionar bem assim. Tenho só agora que configurar o layout disto, mas parece-me bem.

    Já andava aqui com cada função... vai lá vai.
     

Partilhar esta Página