2013-05-15 6 views
-1

У меня есть страница, которая вызовет ошибку, если пользователь попытается щелкнуть слишком много кнопок за один раз (для нетерпеливого пользователя) и, следовательно, необходимо отключить любую кнопку (все определяется функцией JS onclick) на странице, пока она не обновится (с новыми данными, отправленными через сервер с использованием Java.) Каков наилучший способ для этого, и есть ли способ сделать это с помощью jQuery?Используйте JavaScript, чтобы отключить все кнопки на странице до обновления

+0

'.one()' может вам помочь; просто добавьте его снова, когда будете готовы :) –

+0

Вы можете использовать jQuery Block ui для блокировки всего пользовательского интерфейса (а не только кнопок), пока вы ждете окончания вызова ajax. Это может быть хорошо? Вы вызываете обработку на стороне сервера через ajax? –

+0

Мы не можем использовать AJAX, так как звонок сервера будет слишком запоздалым. Вызов сервера вообще вызовет ошибку. Я пытаюсь использовать jQuery Block UI для этого, но не имея большого успеха. – dihakz

ответ

1

Единственное лучшее решение - использовать плагин BlockUI для jQuery. Он выполнил все, что мне нужно, и многое другое. http://www.malsup.com/jquery/block/

1

Как насчет просто называют это, когда вы хотите, чтобы отключить кнопки:

jQuery('input[type="button"]').attr('disabled', 'disabled'); 

Это будет отключить все входы кнопки типа на этой странице. Конечно, как только вы перезагрузите/замените содержимое страницы, новые кнопки не будут отключены. Вы можете также просто отключить все входы, если это проще.

Fiddle: http://jsfiddle.net/duffmaster33/xDMux/

+0

Посмотрите мои комментарии ниже. Я не могу настроить таргетинг на элементы ввода, поскольку кнопки не являются стандартными кнопками формы. – dihakz

+0

ОК, так что цели, что бы «Кнопки» имели общего. Если все они имеют класс btnimg, то используйте jQuery ('. Btnimg') – Duffmaster33

1

Вы должны найти все типы кнопок, используя что-то вроде этого ..

$('input[type="submit"], button') 

и петля через возвращаемый массив и сделать .attr('disabled','disabled'); по этому вопросу в каждой итерации.

+0

Проблема с этим кодом заключается в использовании нестандартных кнопок (т. Е. Они не являются элементами ввода). Типичной кнопкой на странице будет: dihakz

+0

, который работает - и даже с использованием jQuery Block UI работает, но теперь у меня есть более широкая проблема! Я начинаю новый вопрос или продолжаю использовать этот поток, чтобы узнать, могу ли я получить ответы? – dihakz

+0

Ну, если он исправил отключение кнопок, возможно, начнется новый поток. –

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