Исходя из ар revious question где я спросил об отключении кнопку отправки, пока все Ajax звонки не закончили возвращение ...Как предотвратить подачу формы до тех пор, пока не закончится несколько вызовов ajax? JQuery
Кажется, что люди по-прежнему удается отправить форму даже с помощью кнопки отключенным и предупреждающий знак , Я думаю, это может быть от нажатия 'enter' в текстовом вводе.
Как мне отключить всю форму, а не только кнопку отправки?
код до сих пор:
// if we're waiting for any ajax to complete we need to disable the submit
$(document).ajaxStart(function() {
$(".ajaxbutton").attr("disabled", "disabled");
// if it's taken longer than 250ms display waiting message
timer = setTimeout(function() {
$('#processingAlert').html(' ...please wait one moment');
$('#processingAlert').show();
}, 250);
})
$(document).ajaxComplete(function() {
$(".ajaxbutton").removeAttr("disabled");
$('#processingAlert').hide();
// cancel showing the message when the ajax call completes.
clearTimeout(timer);
});
Еще одна вещь, которую я должен упомянуть, который может быть причиной проблемы является то, что Есть несколько Ajax вызовов происходит в то же самое время, EG один DIV принимает скрытые входы и другой div в другом месте на странице показывает общую цену, например.
Будет ли факт, что некоторые вызовы ajax завершаются быстро, отрицает эффект отключения ajaxStart? EG ajax call1 и ajax call2 оба запускают ajaxStart - вызов1 заканчивается очень быстро, будет ли он снова включать форму, пока мы ждем завершения вызова2?
Есть ли лучший способ сделать это, когда мы могли бы просто проверить, завершены ли все вызовы ajax?
Это звучит в правильном направлении, от руководства:. $ ("форма") представить (функция() { если ($ ("вход: первый".) Вал() == "правильный") { $ ("span"). Text ("Validated ..."). Show(); return true; } $ ("span"). Text ("Недействительно!"). Show(). fadeOut (1000); return false; }); Итак, если я проверю, что все вызовы ajax завершены, я могу вернуть true. Я использую PHP, поэтому, к сожалению, не могу использовать функции ASP. – Ashley
PS Может кто-нибудь дать мне знать, как вставить код, отформатированный в комментарии, мне всегда кажется, что все скребут на одну строку – Ashley
Не думаю, что вы можете форматировать код в комментариях. Я бы продолжил и продлевал ваш вопрос с дополнительными комментариями. –