как удалить событие успешной отпраки формы после закрытия модального окна?
После успешной отпраки формы в два этапа (изначально предварительные поля заголовок и текст, после нажатия далее, модальное окно с полями Имя и 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, время: 05:58. |