godsplane
@godsplane

Что делает этот код?

var args = {
			dataType: 'json'
		, beforeSubmit: req_go
		, success: req_come
		, error: function (data) {
			console.log(arguments);
		}
		, url: ajax_var.url
	};
	userform.ajaxForm(args);


Я не понимаю что такое ajaxForm, это нигде не объявлено в файле.
Как я понял это ajax отправка формы, но она не работает, хотя олжна.

Полный код:
spoiler
var ajaxgo = false;
jQuery(document).ready(function ($) {
	$(document).on('click', '.modal-btn', function (e) {
		e.preventDefault();
	});
	$('input[type="tel"]').mask("+7 (999) 999-99-99");
	$('.main-slider').slick({
		slidesToShow: 1
		, slidesToScroll: 1
		, dots: true
		, draggable: false
		, arrows: true
		, autoplay: false
		, autoplaySpeed: 3000
		, fade: true
		, cssEase: 'linear'
	});
	$('.slider-actions').slick({
		slidesToShow: 1
		, slidesToScroll: 1
		, dots: true
		, arrows: false
		, autoplay: false
		, autoplaySpeed: 3000
		, fade: true
		, cssEase: 'linear'
	});
	$('.region span').on('click', function () {
		$('.city-selected').fadeIn();
	});
	$('.city-selected .close').on('click', function () {
		$('.city-selected').fadeOut();
	});
	$('.regions span').on('click', function () {
		$('.city-selected-bot').fadeIn();
	});
	$('.city-selected-bot .close').on('click', function () {
		$('.city-selected-bot').fadeOut();
	});
	$(window).scroll(function () {
		var top = $(document).scrollTop();
		if (top > 50) $('#page').addClass('fixed');
		else $('#page').removeClass('fixed');
	});
	$('#back-top a').click(function (e) {
		e.preventDefault();
		$('body, html').animate({
			scrollTop: 0
		}, 800);
	});
});

jQuery(function($) {
    $('.catalog > .item').matchHeight();
});

jQuery(function ($) {
	var userform = jQuery('.userform');

	function req_go(data, form, options) {
		if (ajaxgo) {
			form.find('.response').html('<p class="error">Необходимо дождаться ответа от предыдущего запроса.</p>');
			return false;
		}
		form.find('input[type="submit"]').attr('disabled', 'disabled').val('Подождите..');
		form.find('.response').html('');
		ajaxgo = true;
	}

	function req_come(data, statusText, xhr, form) {
		console.log(arguments);
		if (data.success) {
			var response = '<p class="success">' + data.data.message + '</p>';
			form.find('input[type="submit"]').prop('disabled', false).val('Отправить');
		}
		else {
			var response = '<p class="error">' + data.data.message + '</p>';
			form.find('input[type="submit"]').prop('disabled', false).val('Отправить');
		}
		form.find('.response').html(response);
		if (data.data.redirect) window.location.href = data.data.redirect;
		ajaxgo = false;
	}
	var args = {
			dataType: 'json'
		, beforeSubmit: req_go
		, success: req_come
		, error: function (data) {
			console.log(arguments);
		}
		, url: ajax_var.url
	};
	userform.ajaxForm(args);
	console.log(ajaxForm);
	$('.region .city-list ul li a, .regions .city-list ul li a').on('click', function (e) {
		e.preventDefault();
		$(this).parent().parent().siblings('form[name="select-city"]').children('input[name="city"]').val($(this).attr('rel'));
		$(this).parent().parent().siblings('form[name="select-city"]').submit();
	});
});
  • Вопрос задан
  • 224 просмотра
Решения вопроса 1
@zkrvndm
Софт для автоматизации
Этот код отправляет форму без перезагрузки страницы. В userForm должна лежать ссылка на отправляемую форму в виде jQuery объекта, ну а в качестве аргументов можно передавать точно те же параметры, что и в обычный jQuery.ajax()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы