Зараз я працюю над додатком для внутрішніх продажів компанії, в якій працюю, і у мене є форма, яка дозволяє користувачеві змінювати адресу доставки.
Тепер я думаю, що це буде виглядати набагато приємніше, якби текстові області, які я використовую для основних деталей адреси, просто займуть область тексту в ньому та автоматично змінять розмір, якщо текст буде змінено.
Ось скріншот на даний момент.
Будь-які ідеї?
@Chris
Хороший момент, але є причини, за які я хочу його змінити. Я хочу, щоб область, яку вона займає, була зоною інформації, що міститься в ній. Як ви можете бачити на знімку екрана, якщо у мене фіксований текстовий пояс, це займає неабиякий запас вертикального простору.
Я можу зменшити шрифт, але мені потрібно, щоб адреса була великою і читабельною. Тепер я можу зменшити розмір області тексту, але тоді у мене виникають проблеми з людьми, які мають адресний рядок, який займає 3 або 4 (один займає 5) рядків. Необхідність використання користувачем смуги прокрутки - це головне, що немає.
Я думаю, я повинен бути трохи більш конкретним. Я після вертикального розміру, і ширина не має великого значення. Єдина проблема, яка трапляється з цим, - це номер ISO (великий "1"), який підписується під адресою, коли ширина вікна занадто мала (як ви бачите на скріншоті).
Справа не в тому, щоб мати трюк; йдеться про наявність текстового поля, який користувач може редагувати, що не займе зайвого місця, але покаже весь текст у ньому.
Хоча якщо хтось придумує інший спосіб підійти до проблеми, я також до цього відкритий.
Я трохи змінив код, тому що він діяв трохи дивно. Я змінив його, щоб активувати клавішу, оскільки він не брав би до уваги щойно введеного символу.
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;
};