Пользователи могут добавлять новые формы, которые все отправляются одним нажатием кнопки и «плагин jQuery Form». Чтобы представить каждую форму, я перебираю формы, которые имеют определенный класс.Плагин jQuery Form представляет несколько форм, но дожидается до тех пор, пока не закончится предыдущее
Поскольку пользователи могут отправлять изображения, а сервер должен выполнять некоторую работу с каждым изображением, я хотел бы подождать, пока предыдущая отправка не завершится с успешным статусомText. В настоящее время (я просто делаю паузу 2000 года, которая является не более чем «хакерским» решением.)
Я думаю, что могу использовать функцию успеха для этого, но не знаю, как я соединяю свою петлю отправки с возвращенным состоянием statusText. Вот fiddle. Вот что у меня есть:
var userform = '<form class="myForm" action="up.php" method="post"> ' +
'Name: <input type="text" name="name" />' +
'file: <input type="file" name="img[]" multiple />' +
'Comment: <textarea name="comment"></textarea>' +
'<input type="submit" value="Submit Comment" />' +
'</form>';
function showResponse(responseText, statusText, xhr, form) {
if (statusText === "success") {
console.log("the submit ended with success");
//submit next form should happen
}
}
var options = {
success: showResponse
};
$('#add').click(function() {
$(userform).appendTo('.append').each(function() {
$('.myForm').ajaxForm(options);
});
});
$("#all").click(function() {
var collection = $('.myForm');
if (collection.length > 0) {
var i = 0;
var fn = function() {
var element = $(collection[i]);
$(element).submit().addClass('done').hide("slow");
if (++i < collection.length) {
setTimeout(fn, 2000);
}
};
fn();
}
});
Спасибо!
Hi ductiletoaster, спасибо за ваш ответ, два вопроса. ваши решения запускают сотни запросов, как я могу остановить это, что только новый запрос уволен с успехом. Далее вы говорите, что я не получаю ответы с моими предложениями, но разве это не то, для чего предназначена функция успеха? это дает мне верный результат успеха. благодаря! –
Пренебрежение. Я видел два события onClick как полностью отдельные. Мой ответ уже не имеет смысла. – ductiletoaster