Attualmente sto lavorando a un'applicazione di vendita interna per l'azienda per cui lavoro e ho un modulo che consente all'utente di modificare l'indirizzo di consegna.
Ora penso che sarebbe molto più bello, se l'area di testo che sto usando per i dettagli dell'indirizzo principale occupasse solo l'area del testo al suo interno e si ridimensionasse automaticamente se il testo è stato modificato.
Eccone uno screenshot al momento.
Qualche idea?
@Chris
Un buon punto, ma ci sono ragioni per cui voglio che venga ridimensionato. Voglio che l'area che occupa sia l'area delle informazioni in essa contenute. Come puoi vedere nella schermata, se ho un'area di testo fissa, occupa una discreta quantità di spazio verticale.
Posso ridurre il carattere, ma ho bisogno che l'indirizzo sia grande e leggibile. Ora posso ridurre la dimensione dell'area di testo, ma poi ho problemi con le persone che hanno una riga dell'indirizzo che richiede 3 o 4 (una richiede 5) righe. La necessità che l'utente utilizzi una barra di scorrimento è una delle principali no-no.
Credo che dovrei essere un po 'più specifico. Sto cercando il ridimensionamento verticale e la larghezza non ha molta importanza. L'unico problema che si verifica è che il numero ISO (il grande "1") viene inserito sotto l'indirizzo quando la larghezza della finestra è troppo piccola (come puoi vedere nello screenshot).
Non si tratta di avere un gimick; si tratta di avere un campo di testo che l'utente può modificare che non occuperà spazio non necessario, ma mostrerà tutto il testo al suo interno.
Tuttavia, se qualcuno propone un altro modo per affrontare il problema, sono aperto anche a quello.
Ho modificato un po 'il codice perché si comportava in modo un po' strano. L'ho cambiato per attivarlo su keyup, perché non avrebbe preso in considerazione il carattere appena digitato.
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;
};