Saat ini saya mengerjakan aplikasi penjualan internal untuk perusahaan tempat saya bekerja, dan saya memiliki formulir yang memungkinkan pengguna mengubah alamat pengiriman.
Sekarang saya pikir itu akan terlihat jauh lebih bagus, jika textarea yang saya gunakan untuk detail alamat utama hanya akan mengambil area teks di dalamnya, dan secara otomatis mengubah ukuran jika teks diubah.
Berikut tangkapan layarnya saat ini.
Ada ide?
@Tokopedia
Poin yang bagus, tetapi ada alasan saya ingin mengubah ukurannya. Saya ingin area yang dibutuhkan menjadi area informasi yang terkandung di dalamnya. Seperti yang Anda lihat di tangkapan layar, jika saya memiliki textarea tetap, ini membutuhkan ruang vertikal yang lumayan.
Saya bisa memperkecil font, tapi saya butuh alamat yang besar dan bisa dibaca. Sekarang saya bisa mengurangi ukuran area teks, tapi kemudian saya punya masalah dengan orang yang memiliki baris alamat yang membutuhkan 3 atau 4 (satu membutuhkan 5) baris. Membutuhkan pengguna untuk menggunakan scrollbar adalah hal yang tidak-tidak.
Saya kira saya harus lebih spesifik. Saya setelah mengubah ukuran vertikal, dan lebarnya tidak terlalu penting. Satu-satunya masalah yang terjadi dengan itu, adalah nomor ISO (besar "1") didorong ke bawah alamat ketika lebar jendela terlalu kecil (seperti yang Anda lihat pada tangkapan layar).
Ini bukan tentang memiliki gimick; ini tentang memiliki bidang teks yang dapat diedit pengguna yang tidak akan memakan ruang yang tidak perlu, tetapi akan menampilkan semua teks di dalamnya.
Meskipun jika seseorang menemukan cara lain untuk mendekati masalah, saya terbuka untuk itu juga.
Saya telah mengubah kode sedikit karena tingkahnya agak aneh. Saya mengubahnya untuk mengaktifkan pada keyup, karena itu tidak akan mempertimbangkan karakter yang baru saja diketik.
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;
};