2013-09-18 2 views
1

Я использую jQuery watermark plugin для нанесения водяного знака на текстовые поля ASP.NET. В текстовое поле также включены проверки ASP.NET. Когда я нажимаю на любую кнопку на странице, водяной знак исчезает. Интересная часть, водяной знак появляется, когда я сосредотачиваюсь на текстовом поле, а затем отвлекаю внимание от него. Таким образом, нажатие кнопки сделало водяной знак невидимым.Кнопка ASP.NET щелчка очищает jQuery водяной знак

Может ли кто-нибудь найти, почему это происходит?

+0

Почему вы не используете заполнитель? – Kuzgun

+0

Я бы попробовал это: [Watermark Textbox очищен от частичной обратной передачи] (http://stackoverflow.com/a/10308152/1316573) –

+0

@ Kuzgun, я не использую placeholder, поскольку пользователи все еще используют старые браузеры –

ответ

0

В соответствии с представлением формы Usage Notes:

- Плагин автоматически очищает все водяные знаки до формирования представления, так что вы никогда не должны вручную удалить водяные знаки, прежде чем отправить.

Другими словами, это по дизайну. Функция заключается в том, чтобы вы случайно не помещали водяной знак и не ошиблись, как введенные данные.

Вы можете видеть на source code начиная с линии 425, он дает следующее объяснение:

// Для того, чтобы надежно очистить все водяные знаки до отправки формы,
// мы должны заменить форму-х отправьте функцию нашим собственным
// функция. В противном случае водяные знаки не будут очищаться, если форма
// представлена ​​программно.

Именно поэтому любая обратная передача, полная или частичная, приведет к очистке водяного знака. (Любая обратная передача представляет форму.)

Если вы хотите, чтобы водяной знак отображался снова, для частичной обратной передачи вам необходимо перезагрузить его. ($.watermark.showAll();)

+0

Я пробовал звонить $. watermark.showAll() на панели обновления, а также на загрузку страницы, но не повезло. Где он должен быть размещен? –

+0

Добавьте 'function pageLoad() {$. Watermark.showAll();}' в ваш javascript. Это будет вызываться каждый раз, когда ваша страница возвращается. Вот короткая статья, в которой говорится об этом: [Упростить инициализацию клиентской стороны ASP.NET AJAX] (http://encosia.com/simplify-aspnet-ajax-client-side-page-initialization/) –

Смежные вопросы