Pull to refresh

Отправка большой формы без заморочек

Добрый день, дорогие друзья!
Может эта тема и поднималась уже, но я мысленно искал это решение несколько лет, и, буквально этой ночью, меня осенило.

Стояла задача отправить клиенту заполненную анкету на сайте. Задача травиальная, но было две проблемы:
1) Количество заполняемых полей больше пятидесяти
2) Сама анкета на бассурманком языке

Первой мыслью было стандартное присвоение каждому полю уникального названия, после чего копипаст формы в шаблол письма с заменой полей на переменные вида $_POST['value_name']

Но, там же еще и чекбоксы с радио-инпутами… Их тоже как-то надо проверять… Кароче, че-то мне эта затея не понравилась и написал простой, но полезный скриптик, который может кому-то пригодится:

function sendForm()
{
$("input[type=text]").each(function(){
   $(this).replaceWith('<span style="color:green;">'+$(this).val()+'</span>');
});
$("textarea").each(function(){
   $(this).replaceWith('<span style="color:green;">'+$(this).val()+'</span>');
});
$("input[type=checkbox]:checked").each(function(){
   $(this).replaceWith('<span style="color:green; font-weight:700;">X</span>');
});
$("input[type=radio]:checked").each(function(){
   $(this).replaceWith('<span style="color:green; font-weight:700;">X</span>');
});
return $('form').html(); 
}


Если кому-то не нравится буква «Х» то можно заменить ее на , но не проверял как оно работает.
Смысл скриптика, думаю, понятен — заменяем все введенные данные на значения, а потом возвращаем ВСЮ форму. Что дальше с ней делать уже зависит от конкретной задачи — отправлять письмом или заносить в базу, но таким образом можно сэкономить кучу времени. Буду рад, если кому-то пригодится мое решение.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.