Loading...
JavaScript | Объединение форм для обработки одним ajax
Есть цикл из форм, которые нумеруются по мере разрастания цикла, поэтому писать их через запятую - геморрой

$('#production-1, #production-2, #production-3, #production-4').submit(function (e) {....... какой-то дальше код

Нарыл в сети фишку для объединения приходящих селекторов при совпадении какой-то части в названии поступившего из какой-то формы

$(form[id*="production"]).submit(function (e) {........обрабатываем любой независимо от нумерации

Что-то не работает так как нужно вместо обработки по ajax редиректит в обработчик.

В чём косяк кто глянет а то ночь на дежурстве сижу туплю не могу врубиться.
А не проще через переменные сделать?
BMW7777 (21.10.2017 в 07:15)
А не проще через переменные сделать?


я же сократить код хочу наоборот :-)

на другом форуме говорят что вроде всё правильно только нужно кавычки поменять или убрать мля я уже по разному их проставляю всё без изменений

короче что-то с кавычками не то
PhpStorm, ........обрабатываем любой независимо от нумерации это коментарий?
BMW7777 (21.10.2017 в 07:26)
PhpStorm, ........обрабатываем любой независимо от нумерации это коментарий?


ну это я тут так написал чтобы весь код не постить


$(document).ready(function () {
var formSubmit;
$(form[id*="production"]).submit(function (e) {
e.preventDefault();
if (formSubmit) {
return false;
} else {
formSubmit = true;
var target = $('#alert-' + $(this).attr('id'));
var defaultAlert = $(target).html();
$.ajax({
cache: false,
type: this.method,
url: this.action,
data: $(this).serialize(),
beforeSend: function () {
$(target).html('<div class="alert alert-warning">Идёт обработка данных</div>');
},
success: function (alert) {
$(target).html(alert).fadeOut(3000, function () {
formSubmit = false;
$(this).html(defaultAlert).show();
});
}
});
}
});
});

________
посл. ред. 21.10.2017 в 07:30; всего 1 раз(а); by PhpStorm
PhpStorm,
$(document).ready(function () {

var formSubmit;

$(form[id*="production"]).submit(function (e) {

e.preventDefault();

if (formSubmit) {

return false;

} else {

formSubmit = true;

var target = $('#alert-' + $(this).attr('id'));

var defaultAlert = $(target).html();

$.ajax({

cache: false,

type: this.method,

url: this.action,

data: $(this).serialize(),

beforeSend: function () {

$(target).html('<div class="alert alert-warning">Идёт обработка данных</div>');

},

success: function (alert) {

$(target).html(alert).fadeOut(3000, function () {

formSubmit = false;

$(this).html(defaultAlert).show();

});

}

});

}

});

});

зачем это?и замени все ' на " возможно просто не хватает памяти
BMW7777,

#alert - это id блока с сообщениями они не касаются обработки форм
________
посл. ред. 21.10.2017 в 07:37; всего 1 раз(а); by PhpStorm
PhpStorm, введи показ ошибок так хоть немного ясно будет...
BMW7777,

бля разобрался, короче 2 варианта прикотором работает

или так

$('form[id*=production]').submit(function (e) {

или так

$('form[id*="production"]').submit(function (e) {

в круглых скобках сначала кавычки а потом конструкция а я кавычки внутри квадратных по разному ставить пробую и нихера не выходит

короче вопрос решён
Онлайн: 3
Время:
Gen. 0.0951
(c) ByMAS.RU 2010-2025