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

Что я сделал (это отлично работает в firefox, но не в IE), он отключает кнопку независимо от того, что сразу после щелчка в ie

  $(document).ready(function () {
     $("#btn").submit(function () {
         $('#btn').attr('disabled', 'disabled');
     });
 });
2
maztt 2 Сен 2010 в 17:30

2 ответа

Лучший ответ

Поместите оверлей над всей страницей. Наложение предотвращает двойной щелчок пользователем и дает некоторую обратную связь. Плагин blockUI делает это очень хорошо.

РЕДАКТИРОВАТЬ:

$(document).ready(function () {
 $("#btn").click(function () {
     $('#btn').attr('disabled', 'true'); // Disable the button if you like
     $.blockUI(); // Blocking the page with a standard message.
 });
});
2
Christian13467 3 Сен 2010 в 06:57

Попробуйте использовать .live, иначе вы можете скрыть кнопку после ее нажатия.

$(document).ready(function () {
     $("#btn").live("click", function () {
         $('#btn').attr('disabled', 'disabled');
//or
         $('#btn').hide();
     });
 });
0
Dave 2 Сен 2010 в 14:37