Làm cách nào tôi có thể thêm placeholder
văn bản vào f.text_field
các trường của mình để văn bản được viết sẵn theo mặc định và khi người dùng nhấp vào bên trong các trường, văn bản sẽ biến mất - cho phép người dùng nhập văn bản mới?
Làm cách nào tôi có thể thêm placeholder
văn bản vào f.text_field
các trường của mình để văn bản được viết sẵn theo mặc định và khi người dùng nhấp vào bên trong các trường, văn bản sẽ biến mất - cho phép người dùng nhập văn bản mới?
Câu trả lời:
Với đường ray> = 3.0, bạn chỉ cần sử dụng placeholder
tùy chọn.
f.text_field :attr, placeholder: "placeholder text"
f.text_field :attr, :placeholder => "placeholder text"
Đối với những người sử dụng Rails (4.2) Internationalization (I18n):
Đặt thuộc tính giữ chỗ thành true:
f.text_field :attr, placeholder: true
và trong tệp cục bộ của bạn (ví dụ: en.yml):
en:
helpers:
placeholder:
model_name:
attr: "some placeholder text"
placeholder: true
. Sau khi thiết lập giống như bạn mô tả, nó hoạt động.
Đây là một cú pháp sạch hơn nhiều nếu sử dụng rails 4+
<%= f.text_field :attr, placeholder: "placeholder text" %>
Vì vậy, rails 4+
bây giờ có thể sử dụng cú pháp này thay vì cú pháp băm
Tôi đã thử các giải pháp ở trên và có vẻ như trên đường ray 5. * mặc định thứ hai là giá trị của biểu mẫu đầu vào, điều làm việc cho tôi là:
text_field_tag :attr, "", placeholder: "placeholder text"
Trong mẫu xem của bạn, đặt giá trị mặc định:
f.text_field :password, :value => "password"
Trong Javascript của bạn (giả sử jquery ở đây):
$(document).ready(function() {
//add a handler to remove the text
});
onfocus="if(this.value=='Search The Huffington Post')this.value=''" value="Search The Huffington Post"
Có vẻ như là một cách tiếp cận tốt.