Проблема в том, что ваша текстовая область не имеет атрибута title
, который вы пытаетесь использовать в своем JavaScript.Он имеет атрибут Title
, который явно не совпадает.Также не определен атрибут Value
.Значение текстовой области должно быть установлено с помощью свойства InvoiceDetails
в вашей модели представления.Итак, начните с исправления разметки:
<%: Html.TextAreaFor(
m => m.InvoiceDetails,
new {
@class = "water",
title = "Invoice detailes"
}
) %>
Затем вы можете использовать код, указанный в этом ответе :
$('.water').addClass('watermark');
$('.watermark').live('focus', function() {
var $tb = $(this);
if ($tb.val() == this.title) {
$tb.val('');
$tb.removeClass('water');
}
}).live('blur', function() {
var $tb = $(this);
if ($.trim($tb.val()) == '') {
$tb.val(this.title);
$tb.addClass('water');
}
}).blur();
А вот живая демонстрация.