2013-06-25 42 views
26

Ví dụ http://dabblet.com/gist/5859946Làm thế nào để thiết lập một chiều rộng đầu vào để phù hợp với văn bản giữ chỗ rộng

Nếu bạn có một placeholder dài, đầu vào theo mặc định không hiển thị đủ rộng để hiển thị tất cả các văn bản giữ chỗ.

ví dụ:

<input placeholder="Please enter your name, address and shoe size"> 

Nếu không đặt chiều rộng cố định và tốt nhất là không javascript, bạn có thể đặt đầu vào hiển thị tất cả văn bản trình giữ chỗ không?

Trả lời

21

Điều này có thể được thực hiện chỉ qua javascript bằng cách thiết lập size = placeholder dài:

input.setAttribute('size',input.getAttribute('placeholder').length); 

Đây là một mã mà liều mà cho tất cả các đầu vào: http://jsfiddle.net/KU5kN/

+0

Không nhất thiết phải luôn luôn chính xác chiều rộng phù hợp, rất hữu ích và rất ngắn gọn. Cảm ơn. –

+0

Tôi đăng một câu trả lời dưới đây được chạy với jQuery mà cũng tránh được lỗi được ném, nếu ai đó mong muốn một như vậy –

+0

Thật không may là kết quả này rất không nhất quán trên các trình duyệt. – sgb

4

Chỉ trong trường hợp ai đó muốn sử dụng điều này với jQuery, mã đó sẽ dưới đây. Ngoài ra, nếu thuộc tính placeholder không tồn tại trong câu trả lời được chấp nhận, bạn sẽ nhận được các lỗi, cũng được quan tâm trong ví dụ jQuery bên dưới.

$("input[placeholder]").each(function() { 
     $(this).attr('size', $(this).attr('placeholder').length); 
    }); 
+0

Đây là câu trả lời phù hợp với tôi :) –

Các vấn đề liên quan