2009-12-15 41 views
7

Tôi muốn biết cách đặt văn bản vào hộp văn bản khi tải trang. Ví dụ: Nếu tôi có trang đăng nhập, tôi sẽ có 2 hộp văn bản có tên là "tên người dùng" và "mật khẩu". Khi tải trang, tôi muốn hộp văn bản tải với "tên người dùng" được viết bên trong, vì vậy tôi sẽ không phải đặt nhãn cho bên ngoài. Nhưng khi người dùng nhấp vào bên trong hộp văn bản, nó sẽ bị xóa. Làm thế nào để tôi làm điều này?Javascript "hình mờ" cho hộp văn bản

+0

http://stackoverflow.com/a/16471949/1257652 –

Trả lời

19
<input name="q" onfocus="if (this.value=='search') this.value = ''" type="text" value="search"> 

... từ Stack Overflow hộp tìm kiếm.


Bạn cũng có thể thêm sự kiện onblur để kiểm tra: if (this.value=='') this.value = 'search'

này sẽ lại in hình mờ khi người dùng nhấp bên ngoài hộp văn bản và lĩnh vực này là trống.

+2

1 cho đơn giản. – Brandon

+2

Tôi cũng sẽ làm cho văn bản màu xám hơn và không màu đen – Faruz

0

JS:

function clearDefault(ctl){ 
     if(ctl.value==ctl.defaultValue) { ctl.value = ""; } 
    } 

Trong textbox của bạn bao gồm onfocus="clearDefault(this)" và đặt văn bản của mình để "tên người dùng" hay "password".

+0

Không sử dụng thuộc tính 'onfocus'. Sử dụng sự kiện thay vì –

+2

Thuộc tính 'onfocus' (cũng như' onblur') về cơ bản là các sự kiện. Giá trị của chúng bằng với phần thân của hàm được liên kết với sự kiện. Vì vậy, có 'clearDefault (this)' cho 'onfocus' về cơ bản là có ràng buộc này như là trình xử lý sự kiện' focus' của bạn: 'function() {clearDefault (this); } ' –

4

Về giáo dân của:

  • Khi tập trung vào các đầu vào, nếu giá trị là "Tên đăng nhập", sau đó đặt nó là ""
  • Khi tháo tập trung từ hộp, nếu giá trị là "" (tức là không có gì đã được nhập), thiết lập lại nó để "Tên đăng nhập" để vẫn cung cấp thông tin phản hồi cho người dùng kể từ khi họ chưa nhập dữ liệu

mã:

<input value="Username" onfocus="if(this.value=='Username') this.value = ''" onblur="if(this.value=='') this.value = 'Username'" type="text" /> 
5

Một cách hiện đại hơn là sử dụng "giữ chỗ"

<input type="text" placeholder="search" /> 
+0

Điều này thật thanh lịch! – theblackpearl

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