Как сделать вывод имя пользователя на странице “Спасибо”?

248
06 июля 2018, 14:40

В корне сайта на одном уровне находится главная страница: index.html, страница благодарности после отправки формы:thank-you-page.html, обработчик формы: success.php, в папке js находится главный main.js и jquery.

После успешной отправки формы пользователь попадает на страницу благодарности, в форме он заполняет два поля — имя и телефон. Вопрос, как на странице благодарности сделать вывод имя пользователя? Чтобы было, например, так: "Спасибо, [Имя] за заявку!"

Код для формы в main.js предоставил ниже. На странице, форм несколько, они идентичные, обработчик используется один. И нужно, чтобы имя бралось с той формы, с которой идет отправка заявки.

Это код для формы:

// form submission
$('[data-submit]').on('click', function(e){
    e.preventDefault();
    $(this).parent('form').submit();
})
$.validator.addMethod(
    "regex",
    function(value, element, regexp) {
        var re = new RegExp(regexp);
        return this.optional(element) || re.test(value);
    },
    "Пожалуйста, проверьте свои данные"
);
function valEl(el){
    el.validate({
        rules:{
            name:{
                required:true
            },
            phone:{
                required:true,
                regex: '^([\+]+)*[0-9\x20\x28\x29\-]{5,20}$'
            }
        },
        messages:{
            name:{
                required:'Поле обязательно для заполнения'
            },
            phone:{
                required:'Поле обязательно для заполнения',
                regex:'Телефон может содержать символы + - ()'
            }
        },
        submitHandler: function (form) {
            $('.loader').fadeIn();
            var $form = $(form);
            var $formId = $(form).attr('data-id');
            switch($formId){
                case'goToNewPage':
                    $.ajax({
                        type: 'POST',
                        url: $form.attr('action'),
                        data: $form.serialize(),
                    })
                        .always(function (response) {
                            setTimeout(function (){
                                $('.loader').fadeOut();
                            },800);
                            //ссылка на страницу "спасибо" - редирект
                            location.href='http://test.com/thank-you-page.html';
                        });
                    break;
                case'popupResult':
                    $.ajax({
                        type: 'POST',
                        url: $form.attr('action'),
                        data: $form.serialize(),
                    })
                        .always(function (response) {
                            setTimeout(function (){
                                $('.loader').fadeOut();
                                $('.modal').fadeOut();
                                $('.modal-backdrop').fadeOut();
                            },800);
                            setTimeout(function (){
                                $('.thank-you-page').fadeIn();
                            },1100);
                            $('.thank-you-page').on('click', function(e) {
                                $(this).fadeOut();
                                $('.modal-open').css({
                                    'overflow': 'inherit',
                                    'padding-right' : '0'
                                });
                            });
                        });
                    break;
            }
            return false;
        }
    })
}
$('.js-form').each(function() {
    valEl($(this));
});
$('[data-scroll]').on('click', function(){
    $('html, body').animate({
        scrollTop: $( $.attr(this, 'data-scroll') ).offset().top
    }, 2000);
    event.preventDefault();
});
Answer 1

можно в url страницы спасибо передавать закодированное имя как параметр, а на этой странице написать скрипт для раскодирования имени и заполнения поля.

location.href='http://test.com/thank-you-page.html#'+encodeURIComponent(name);

READ ALSO
Установка границ для блока

Установка границ для блока

Осваиваю bootstrap и столкнулся с проблемойМне нужно для моих блоков (левый,правый,нижний) установить видимые границы, чтобы было четкое разделение...

231
PageSpeed Insights ругается на оптимизацию, не могу найти причину такого показателя

PageSpeed Insights ругается на оптимизацию, не могу найти причину такого показателя

PageSpeed Insights Ругается на ужасный показатель, причину того найти не могу, сжал изображения насколько это было возможно с 50 до 9мб, убрал лишний...

218
jquery Отрицание

jquery Отрицание

Конструкция, которая скрывает все элементы, у которых checkbox:checked

211
Переключатель с выбором цвета на jQuery

Переключатель с выбором цвета на jQuery

Пытаюсь собрать небольшой конструктор на jQueryЕсть секция выбора цвета

315