Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Samuel Dos Santos

Scroll não funciona no Textarea

Recommended Posts

Bom, resolvi colocar disable num textarea pra evitar que modifiquem o texto, só que o nosso velho amigo IE desabilitou , também, o scroll, ai quando o texto e maior que a div, não dá pra você ler tudo. Alguma solução pra esse problemas meus caros colegas?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste seu código para vermos como esta fazendo.

 

Pela descrição do problema acredito que um overflow:auto; resolve.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ae João beleza?! É um textarea simples com a opção disabled. vou postar aqui

 

<textarea disabled="disabled"><?php echo $descricao; ?></textarea>

 

tinha tentado a opção overflow, mas o maldito IE não reconhece =/

Se tiver alguma idéia posta ai.

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode até ter uma solução via CSS, mas se não, com JavaScript você resolveria pegando a largura e a altura da DIV pai desse textarea, adicionando uns pixels a mais (caso exista uma borda) e setando tais valores para as respectivas propriedades width e height do referido textarea.

 

Se bem que, olhando bem, será que a ausência dos atributos rols e cols não seria o problema não?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, para resolver é assim:

 

Você vai deixar o textarea sem disabled e este disabled será adicionado dinamicamente.

 

Coloque apenas id no textarea e um atributo igual abaixo

Lembre de colocar no lugar do 100 a altura que você quer que ela tenha caso o texto nao seja grande

 

<textarea id="desc" height="100">
<?php echo $descricao; ?>
</textarea>

// Agora aqui embaixo dela mesmo você coloca uma linguágem de script do tipo javascript

<script type="text/javascript">

window.onload=function(){
var texarea = document.getElementById('desc');
var textHeight=texarea.scrollHeight;
var textareaHeight=texarea.getAttribute('height');
if(textHeight > textareaHeight){texarea.style.height=textHeight+'px';} 
else{texarea.style.height=textareaHeight+'px';}
texarea.setAttribute('disabled','disabled');
}

</script>

 

Pronto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentou colocar um "Overflow: auto" essa input?

Pois o overflow auto vai fazer aparecer a barra de rolagem...

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<textarea id="desc" height="100">
<?php echo $descricao; ?>
</textarea>

// Agora aqui embaixo dela mesmo você coloca uma linguágem de script do tipo javascript

<script type="text/javascript">

window.onload=function(){
var texarea = document.getElementById('desc');
var textHeight=texarea.scrollHeight;
var textareaHeight=texarea.getAttribute('height');
if(textHeight > textareaHeight){texarea.style.height=textHeight+'px';} 
else{texarea.style.height=textareaHeight+'px';}
texarea.setAttribute('disabled','disabled');
}

</script>

 

Pronto.

 

Poluído, mas ótimo código e solução.

 

Só não recomendo que deixe o script solto ao documento. E nos webstandards, assim como o CSS, o Javascript deve ser anexado antes da tag head do documento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.