2012-10-15 33 views
7

Tôi có hộp văn bản sau đây trong tôi View:ASP.NET MVC TextBoxFor Placeholder

enter image description here

Mã cho giữ chỗ:

@Html.TextBoxFor(m => m.Listing.Location.AddressLine1, new {@placeholder="Address Line 1 - Required"}) 

Câu hỏi: Làm thế nào để làm cho văn bản "Bắt buộc" trong RED.

+0

bạn cần để tạo ra một thực thể mô hình và sử dụng cần thiết cho nó .. – Umitk

Trả lời

4

Bạn không thể thực hiện việc này bằng trường văn bản. Bạn không có quyền kiểm soát định dạng chỉ một số phần của thuộc tính HTML5 placeholder. Chưa kể rằng nếu bạn muốn đạt được văn bản nhiều màu, bạn không còn có thể sử dụng trường văn bản hoặc vùng văn bản. Bạn sẽ phải sử dụng một phần tử với thuộc tính contenteditable="true" và viết plugin tùy chỉnh của bạn.

Dưới đây là ví dụ cách đánh dấu có thể trông giống như:

<div contenteditable="true"> 
    Address Line 1 - <span style="color: red">Required</span>; 
</div> 

Nhưng vì đây là một yếu tố div bây giờ bạn sẽ phải trở lại nó lên với một lĩnh vực tiềm ẩn tương ứng để các giá trị được gửi đến máy chủ . Ngoài ra khi giá trị của trường này thay đổi, bạn cũng cần phải đồng bộ hóa lại giá trị trường ẩn. Nó sẽ có rất nhiều công việc.

+1

Điều này không hoàn toàn đúng, bạn có thể tạo kiểu cho trình giữ chỗ với css (trong một số trình duyệt) http://stackoverflow.com/questions/2610497/change-an-inputs-html5-placeholder-color-with-css ... – nemesv

+1

@nemesv, vâng, nhưng anh ấy chỉ muốn tạo kiểu cho một phần văn bản giữ chỗ. Tôi đã cập nhật câu trả lời cho tài khoản cho điều đó. –

+0

Mmm. Đó là quá nhiều công việc cho tôi, tôi đoán vậy. – Subby

1

trong mô hình

[Bắt buộc]

public string AddressLine1{ get; set; } 

@Html.TextBoxFor(model => model.Listing.Location.AddressLine1, new { @class = "form-control" , placeholder = "Address Line 1 - Required" }) 

thử này cho một @ Html.TextBox trống

@Html.TextBox("CustomarName" ,null, new { @class = "form-control" , @placeholder = "Search With Customar Name" })