Tôi đang sử dụng mã đơn giản bên dưới để thay thế hộp văn bản (<input type=text />
) bằng phần tử <textarea>
sau khi người dùng nhập một số ký tự nhất định. Trong ví dụ bên dưới, điều này diễn ra sau ký tự thứ 10. Mã hoạt động, ngoại trừ nội dung của <textarea>
bỏ qua ký tự thứ 10 mà người dùng đã nhập. Ví dụ: nếu bạn nhập "thử nghiệm 1234" trong hộp văn bản, vùng văn bản sẽ bỏ qua "4". Bất kỳ ý tưởng? Cảm ơn. --JakeSử dụng jQuery để thay thế hộp văn bản bằng <textarea> sau độ dài ký tự nhất định
$('.info').keypress(function() {
var count = $(this).val().length;
if (count > 10)
{
var contents = $(this).val();
$(this).after('<textarea></textarea>').next().val(contents).end().remove()
}
})
CẬP NHẬT: Tôi đã thử đề xuất mà nhiều bạn đã chia sẻ: sử dụng sự kiện keyup. Nó hoạt động, nhưng chỉ khi bạn gõ chậm. Nếu bạn là một typer nhanh, như tôi nghi ngờ hầu hết mọi người ở đây sẽ là, nhân vật thứ 10 vẫn bị bỏ qua khi sử dụng sự kiện keyup.
Nghiêm túc, tôi sẽ đi với giải pháp @ Neil. Nó sẽ không khó lắm, và nó sẽ giải quyết mọi vấn đề của bạn. –
Tôi sẽ đi với một giải pháp hoạt động nếu bạn dán một cái gì đó vào hộp. –