В настоящее время я работаю над внутренним коммерческим приложением для компании, в которой я работаю, и у меня есть форма, которая позволяет пользователю изменять адрес доставки.
Теперь я думаю, что это будет выглядеть намного приятнее, если текстовая область, которую я использую для основных адресов, просто займет область текста в ней и автоматически изменит размер, если текст был изменен.
Здесь снимок экрана.
Любые идеи?
@Крис
Хороший момент, но есть причины, по которым я хочу изменить его размер. Я хочу, чтобы область занимала область информации, содержащейся в ней. Как вы можете видеть на снимке экрана, если у меня есть фиксированная текстовая область, она занимает справедливое пространство вертикального пространства.
Я могу уменьшить шрифт, но мне нужно, чтобы адрес был большим и читаемым. Теперь я могу уменьшить размер текстовой области, но тогда у меня проблемы с людьми, у которых есть адресная строка, которая занимает 3 или 4 (одна занимает 5) строк. Нужно, чтобы пользователь пользовался полосой прокрутки, является основным no-no.
Я думаю, я должен быть немного более конкретным. Я после вертикального изменения размера, и ширина не имеет значения. Единственная проблема, которая с этим связана, - это номер ISO (большой "1" ), который подталкивается под адресом, когда ширина окна слишком мала (как вы можете видеть на скриншоте).
Это не о том, чтобы иметь gimick; он о том, что текстовое поле пользователь может редактировать, который не займет лишнее пространство, но покажет весь текст в нем.
Хотя, если кто-то придумает другой способ подойти к проблеме, я тоже открыт для этого.
Я немного изменил код, потому что он немного странный. Я изменил его, чтобы активировать keyup, потому что он не учитывал персонажа, который был только что напечатан.
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;
};