2013-06-10 27 views
7

Tôi có đầu vào văn bản (hoặc có thể chỉnh sửa DIV) mà tôi luôn muốn bắt đầu bằng văn bản mặc định VÀ không thể chỉnh sửa bởi người dùng. Vì vậy, ví dụ:Bắt buộc nhập văn bản để bắt đầu bằng văn bản mặc định

Textbox sẽ luôn luôn bắt đầu với giá trị mặc định: My name is

Người dùng sẽ có thể và cần thiết để thêm tên của họ, chẳng hạn như: My name is David

Họ sẽ không thể để xóa các My name is văn bản mặc định. Lý tưởng nhất, nếu người dùng nhấp vào bất kỳ nơi nào trên văn bản mặc định đó, con trỏ sẽ nhảy tới cuối văn bản đó, vì vậy họ sẽ không có cơ hội thậm chí cố gắng nhập nội dung nào đó, ngoại trừ sau mặc định. Tương tự với backspace, văn bản mặc định (My name is) không thể xóa được.

Mọi đề xuất? Tôi có khả năng sử dụng Javascript/Jquery.

+7

Xem http://stackoverflow.com/qu này ước tính/5490410/html-javascript-làm thế nào để làm cho-mặc định-text-of-a-textarea-undeletable – lifetimes

+0

Bất kỳ cơ hội mà các thuộc tính giữ chỗ có thể giải quyết vấn đề của bạn? – Rikon

Trả lời

0

Tại sao không chỉ dán nhãn (ví dụ: span) ngay bên cạnh vùng văn bản và tạo kiểu cho nó trông giống như một vùng văn bản. Chỉ cần xếp chúng lên và thiết lập một hình nền (hoặc đường viền css) phía sau cả hai chúng bằng cách sử dụng css để tạo ra sự xuất hiện của vùng văn bản. Sau đó, bật biên giới bình thường ra khỏi vùng văn bản cũng sử dụng css. Nên khá dễ dàng để mã. Phần khó hiểu là chỉ nhận được nó một cách chính xác. Nếu bạn không nhớ các bản có giá trên một dòng khác nhau mà bạn có thể làm điều này (từ bài khác):

http://jsfiddle.net/eAW2U/

Hoặc nếu bạn muốn họ trên cùng một dòng (mà sẽ chỉ làm việc cho một hộp văn bản thực sự, không phải là một textarea, bạn có thể nổi chúng

<div style="float:left">etc... 

Hoặc cách khác bạn có thể sử dụng các sự kiện bấm phím/KeyUp để kiểm tra và xem nếu bấm phím sẽ kết thúc việc thay đổi đầu văn bản tổng thể và nếu như vậy hủy nó.

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