как удалить событие успешной отпраки формы после закрытия модального окна?
После успешной отпраки формы в два этапа (изначально предварительные поля заголовок и текст, после нажатия далее, модальное окно с полями Имя и Email) на втором этапе отправляю форму... после успешной отправки поля формы 2-го этапа удаляю и выдаю сообщение об успешной отправке:
........, success: function (response) { $(document).trigger('tickets_ticket_save', response); $('#ticketForm.create').sisyphus().manuallyReleaseData(); if (response.success) { if (response.message) { Tickets.Message.success(response.message); } if (action == 'ticket/save') { $(form).find('input[type="submit"], input[type="button"]').removeAttr('disabled'); if (response.data['content']) { $('#ticket-editor').val(response.data['content']); } $('#ticket-files-list').find('.deleted').each(function() { $(this).remove(); }) } // так вот сделал $(form).hide(); $('input').val(''); $('textarea').val(''); $(".modal-title").html('<b style="display:block;text-align:center;">Вопрос успешно отправлен!</b>'); $(".modal-body").html('<div class="clr berrors">После ответа на Ваш вопрос Вы получите сообщение на свой Email</div>'); $(".modal").on("hidden.bs.modal", function () { location.reload();//перезагружаем страницу после закрытия модального окна }); // END так вот сделал } ,..... Не нашел ничего лучше чем перезагружать страницу после закрытия модального окна с сообщением об успешной отправке для полного обнуления формы (чтобы форма вернулась в первоначальный вид), но хотелось бы обнулить форму и удалить событие об успешной отправке без перезагрузки страницы... а то получается, если не перезагружать страницу, а просто делать $('поле формы').val(''); то после нажатия на кнопку перехода во второй этап вместо полей Имя и Email) выдает сразу сообщение об успешной отправки формы. |
Метод .reset() формы.
А $(form).find('input[type="submit"], input[type="button"]').removeAttr('disabled');, это $(form).find('input[type="submit"], input[type="button"]').prop('disabled', true/false); |
laimas,
ничего не понял из этого ответа. При чем тут А $(form).find('input[type="submit"], input[type="button"]').removeAttr('disabled');, это $(form).find('input[type="submit"], input[type="button"]').prop('disabled', true/false);это же делает неактивность кнопки... Метод .reset() формы не срабатывает, выдавал ошибку если указать так: $(".modal").on("hidden.bs.modal", function () { $(".modal-title").html('Оставьте свои контактные данные'); $("div.berrors").detach(); $(form).show(); $(form)[0].reset(); }); TypeError: $(...)[0] is undefined и форма не восстанавливается, то есть .show(); не срабатывает и reset() undefined если указать так: $(".modal").on("hidden.bs.modal", function () { $(".modal-title").html('Оставьте свои контактные данные'); $("div.berrors").detach(); $(form).show(); $(form).reset(); }); TypeError: $(...).reset is not a function |
Цитата:
|
рони,
........, success: function (response) { $(document).trigger('tickets_ticket_save', response); $('#ticketForm.create').sisyphus().manuallyReleaseData(); if (response.success) { if (response.message) { Tickets.Message.success(response.message); } if (action == 'ticket/save') { $(form).find('input[type="submit"], input[type="button"]').removeAttr('disabled'); if (response.data['content']) { $('#ticket-editor').val(response.data['content']); } $('#ticket-files-list').find('.deleted').each(function() { $(this).remove(); }) } // так вот сделал $(form).hide(); //скрываем форму $('input').val(''); $('textarea').val(''); $(".modal-title").html('<b style="display:block;text-align:center;">Вопрос успешно отправлен!</b>'); $(".modal-body").html('<div class="clr berrors">После ответа на Ваш вопрос Вы получите сообщение на свой Email</div>'); $(".modal").on("hidden.bs.modal", function () { //location.reload();//перезагружаем страницу после закрытия модального окна $('.modal-title').html('Оставьте свои контактные данные'); $('.berrors').html(''); $('div.berrors').detach(); $('#ticketForm').show().reset(); // показываем и очищаем форму, НО ЭТО ПОЧЕМУ-ТО НЕ РАБОТАЕТ, ФОРМА НЕ ПОКАЗЫВАЕТСЯ И В КОНСОЛИ ОШИБКА : "TypeError: $(...).show(...).reset is not a function" }); // END так вот сделал } ,..... Указал непосредственно селектор формы, НО ЭТО ПОЧЕМУ-ТО НЕ РАБОТАЕТ, ФОРМА НЕ ПОКАЗЫВАЕТСЯ (не восстанавливается) И В КОНСОЛИ ОШИБКА : "TypeError: $(...).show(...).reset is not a function" Если сделать так: $('#ticketForm').show(); $('#ticketForm').reset(); То форма также не восстанавливается и в консоли ошибка: "TypeError: $(...).reset is not a function" А если указать так: $('#ticketForm').show(); $('#ticketForm')[0].reset(); То в консоли: "TypeError: $(...)[0] is undefined" |
Цитата:
А если "TypeError: $(...)[0] is undefined", значит нет объекта. |
Часовой пояс GMT +3, время: 14:00. |