В корне сайта на одном уровне находится главная страница: 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();
});
можно в url страницы спасибо передавать закодированное имя как параметр, а на этой странице написать скрипт для раскодирования имени и заполнения поля.
location.href='http://test.com/thank-you-page.html#'+encodeURIComponent(name);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости