Скрыть сообщение «успешно выполнено», когда пользователь снова начинает обновлять страницу - PullRequest
0 голосов
/ 23 февраля 2011

У меня есть страница с несколькими текстовыми полями и выпадающими списками. Когда я нажимаю «Отправить», вся информация на странице сохраняется, и клиенту отправляется сообщение «Сохранить успешно». Однако если пользователь снова начинает обновлять страницу, сообщение должно исчезнуть. Я не хочу добавлять событие фокуса ко всем входам, поскольку оно может быть убийственным. Также мне нужно сделать это на всех страницах приложения. Любая помощь в этом отношении будет высоко оценена. Спасибо!

Ответы [ 4 ]

1 голос
/ 23 февраля 2011

Поскольку вы работаете с jQuery ... это все равно по существу добавляет это в событие фокуса, но делает его глобальным слушателем всех обычных входов (включая флажки, скрытый, радио и т. Д.) Вместо событияна каждом предмете.

$(':input').focus(function(){
   $('#successfullySavedId').hide();
});
0 голосов
/ 23 февраля 2011

Возможно, это не совсем то, что вы ищете, но я нахожу плагин jGuery действительно хорошим, чтобы уведомлять пользователей о том, что происходит (вашему пользователю все равно, будет ли сообщение сохраняться в течение 5 секунд илипока они снова не коснутся чего-то, не так ли?).

В противном случае вы можете поступить так, как предложили другие.

0 голосов
/ 23 февраля 2011

Вы можете использовать .delegate () и .blur () (которые сработают, когда все может измениться, а не при получении фокуса) или .change () (когда все действительно изменилось).Делегат написан так, что отнимает часть производительности.

$("form").delegate(":input", "change", function() {
    $("#saveSuccessDiv").hide();
});
0 голосов
/ 23 февраля 2011

Как запускается обновление? Если это постбэк, используйте при загрузке страницы, подождите несколько секунд и автоматически спрячьте. Если это ajax, добавьте тайм-аут в ответ, чтобы скрыть его через несколько секунд.

...