Atualmente, estou trabalhando em um aplicativo de vendas interno para a empresa em que trabalho e tenho um formulário que permite ao usuário alterar o endereço de entrega.
Agora, acho que ficaria muito melhor, se a área de texto que estou usando para os detalhes do endereço principal ocupasse apenas a área do texto e redimensionasse automaticamente se o texto fosse alterado.
Aqui está uma captura de tela dele atualmente.
Alguma ideia?
@Chris
Um bom ponto, mas há razões pelas quais quero que seja redimensionado. Quero que a área ocupada seja a área das informações nele contidas. Como você pode ver na captura de tela, se eu tiver uma área de texto fixa, ela ocupa bastante espaço vertical.
Posso reduzir a fonte, mas preciso que o endereço seja grande e legível. Agora posso reduzir o tamanho da área de texto, mas tenho problemas com pessoas que têm uma linha de endereço que usa 3 ou 4 (uma usa 5) linhas. É necessário que o usuário use uma barra de rolagem.
Acho que devo ser um pouco mais específico. Estou procurando o redimensionamento vertical e a largura não importa tanto. O único problema que acontece com isso é o número ISO (o grande "1") é empurrado para o endereço quando a largura da janela é muito pequena (como você pode ver na captura de tela).
Não se trata de ter um truque; trata-se de ter um campo de texto que o usuário pode editar que não ocupará espaço desnecessário, mas mostrará todo o texto nele.
Embora, se alguém criar outra maneira de abordar o problema, eu também esteja aberto a isso.
Eu modifiquei o código um pouco porque estava agindo um pouco estranho. Mudei para ativar no keyup, porque não levaria em consideração o caractere que acabou de ser digitado.
resizeIt = function() {
var str = $('iso_address').value;
var cols = $('iso_address').cols;
var linecount = 0;
$A(str.split("\n")).each(function(l) {
linecount += 1 + Math.floor(l.length / cols); // Take into account long lines
})
$('iso_address').rows = linecount;
};