Форма обратной связи

Форма обратной связи
Форма обратной связи для сайта. Что это такое, для чего она нужна и как ее создать?
Новые настройки поддомена
Доработка элемента "Телефон"
Вложенная форма
Курс валют в формулах
Укажите в шаблоне даты работы Вашего шиномонтажа, добавьте время блокировки и получите заявки от клиентов Подробнее
Клиент заполнит форму и Вы сможете учесть все замечания Подробнее
Нет времени разбираться со всеми настройками самому? Не проблема!
Закажите разработку веб-формы у нас
Примеры форм
Квиз (Quiz)
Онлайн калькулятор
Форма обратной связи
Форма заказа
Форма голосования
Форма тестирования
Форма онлайн-записи
Компания
Контакты и поддержка
Сообщить об ошибке
Договор-оферта
Политика конфиденциальности
Политика cookie
Партнерам
Что почитать?
Новости
Блог
Кейсы
База знаний
Отзывы и предложения
Регистрируясь вы соглашаетесь с нашими Условиями предоставления услуг и Политикой конфиденциальности .
Проверьте свой почтовый ящик, чтобы активировать учетную запись.
Мы используем собственные и сторонние файлы cookie, чтобы показывать вам более релевантный контент на основе
вашей истории просмотров и навигации. Пожалуйста, примите или измените настройки файлов cookie. Вот
наша политика использования файлов cookie .
Мы используем различные типы файлов cookie, чтобы оптимизировать Ваш опыт на нашем сайте. Нажмите на категории
ниже, чтобы узнать больше об их назначении. Вы можете выбрать, какие типы файлов cookie разрешить и можете
изменить ваши предпочтения в любое время. Однако имейте в виду, что если Вы решите отклонить или удалить
файлы cookie, это может повлиять на доступность и функциональность сайта. Вы можете узнать больше о том, как мы
используем файлы cookie, посетив нашу Политику конфиденциальности и
Политику в отношении файлов cookie .
Строго необходимые файлы cookie Строго необходимые файлы cookie
Эти файлы cookie необходимы для работы веб-сайта и не могут быть отключены в наших системах. Обычно они устанавливаются только в ответ на ваши действия, которые представляют собой запрос на услуги, такие как установка параметров конфиденциальности, вход в систему или заполнение форм. Вы можете настроить свой браузер так, чтобы он блокировал эти файлы cookie или уведомлял вас о них, но в этом случае некоторые части сайта не будут работать. Эти файлы cookie не хранят никакой личной информации.
Функциональные файлы cookie Функциональные файлы cookie
Эти файлы cookie позволяют нам запоминать ваши предпочтения и выбор, который вы делаете на Сайте, а также позволяют нам предоставлять вам важные функции, включая комментарии, виджеты и онлайн-чат. Вы можете заблокировать функциональные файлы cookie в настройках своего браузера. Тем не менее, помните, что если вы заблокируете функциональные файлы cookie, это может сильно повлиять на функциональность Сайта.
Аналитические файлы cookie Аналитические файлы cookie
Эти файлы cookie позволяют нам подсчитывать посещения и источники трафика, чтобы мы могли измерять и улучшать производительность нашего сайта. Они помогают нам узнать, какие страницы являются наиболее и наименее популярными, и увидеть, как посетители перемещаются по сайту. Вся информация, которую собирают эти файлы cookie, является агрегированной и, следовательно, анонимной. Если Вы не разрешите использование этих файлов cookie, мы не будем знать, когда Вы посещали наш сайт.
Маркетинговые файлы cookie Маркетинговые файлы cookie
Маркетинговые файлы cookie могут устанавливаться на нашем сайте нами и нашими рекламными партнерами. Они могут использоваться этими третьими сторонами для создания профиля ваших интересов на основе информации о просмотре, которую они собирают от Вас, включая уникальную идентификацию вашего браузера и терминального оборудования. Если Вы не разрешите использование этих файлов cookie, Вы будете видеть в браузере рекламу, которая является общей и не основана на ваших интересах.
Принять все Отклонить все Сохранить настройки
Форма обратной связи уже давно является наиболее приемлемым способом общения между владельцем ресурса и пользователем.
Причин этому немало. В первую очередь, использование контактной формы в значительной мере облегчает отправку писем, благодаря специальным полям, отведенным для написания текста. Подобный шаблон делает заказ конкретных услуг более удобным. Также плюсом является и то, что пользователям нет необходимости вводить адрес электронной почты владельца сайта, так как в форме обратной связи этот момент уже предусмотрен. Более того посетитель площадки даже не узнает вашего электронного адреса, что будет потенциальной защитой от спама.
Среди огромного количества плюсов, которые имеет форма обратной связи , тяжело было бы разглядеть недостатки, даже если бы они были. Помимо удобства для владельца ресурса и пользователя, она еще и существенно экономит время. Это происходит благодаря тому, что человеку, который хочет задать вопрос, не нужно тратить драгоценные минуты на запуск почтового клиента, чтобы отправить письмо. Все что требуется – это перейти на страницу с формой обратной связи, ввести в предназначенных для этого полях имя, адрес электронной почты, нужный текст и кнопку отправки. Что касается больших компаний, то здесь при выборе адресата многие пользователи просто теряются, так как часто указано множество различных электронных ящиков. И тут в который раз выручит форма обратной связи! Более того, при ее правильном использовании можно в значительной мере повысить конверсию.
Также в данной форме может присутствовать еще одна строка, установить которую крайне рекомендуется всем владельцам сайтов, использующих такой вид обратной связи. Речь идет о Captcha - коде, который представляет собой дополнительное поле, куда необходимо ввести определенные цифры с картинки либо набор символов. Без этого письмо отправлено не будет. Необходимость в подобной защите присутствует из-за того, что в наше время существуют роботы, способные отправлять с форм обратной связи спам, а благодаря защитному коду на ваш ящик будут приходить только письма, написанные реальными людьми.
Для того, чтобы создать форму обратной связи самостоятельно, необходимы специальные навыки, среди которых знание html, javascript и php. Однако, существует и альтернатива, используя которую каждый владелец сайта может без труда сгенерировать нужную регистрационную форму, бланк заказа либо форму обратной связи. А именно онлайн конструктор форм formdesigner.ru
Начать работу с нашим сервисом очень просто. Для этого нужно пройти не сложную регистрацию , после чего можно сразу переходить к созданию формы. Также есть возможность регистрации в один клик, через социалные сети.
В первом разделе у вас будет возможность настроить внешний вид писем, установить защиту, выбрать действие, которое последует при успешной отправке и т.д.
В разделе «Элементы» можно добавить, удалить либо отредактировать поля для заполнения. Они могут быть текстовыми, цифровыми, с изображением и т.д. Помимо этого, у вас будет возможность установить кнопки социальных сетей.
Особенностью онлайн конструктора форм formdesigner.ru является то, что при помощи нашего онлайн-сервиса можно создать форму обратной связи всего в несколько кликов. После чего вы получите специальный код, который следует вставить на сайт.
Помимо стандартных преимуществ в виде защиты от спама, настройки подходящего внешнего вида и т.д., при помощи нашего сервиса можно быстро отредактировать либо добавить новые поля, создать мультистраничные формы либо собственные сообщения об ошибке. Что касается дизайна, то для продвинутых пользователей здесь имеются свои преимущества, так как они могут настроить CSS-свойства формы на свой вкус и сделать ее более подходящей по стилю для собственного ресурса.
Дополнительное положительное качество formdesigner.ru – это то, что кроме рассылки писем на ваши адреса, они сохраняются и в самой системе, поэтому можно в любой момент прочитать даже то, что попало под фильтр спама. Помимо этого, в разделе «Статистика» вам будет предоставлен подробный отчет за определенный период времени.
Подводя итоги, можно отметить еще одно неоспоримое достоинство форм обратный связи, а именно то, что отправленные таким образом письма будут приходить на ваш электронный ящик в удобной и аккуратной форме. Благодаря этому можно без труда понять, кем оно было отправлено, и что от вас требуется!
Если статья понравилась, то поделитесь ей в социальных сетях:
Здравствуйте, Александр!
Подскажите как правильно выполнить инициализацию нескольких форм на одной странице сделать с помощью цикла:
const form = new ItcSubmitForm('form'); При этом с учетом сообщений об успешной отправки формы:
// при возникновении события success на
document.querySelector('form').addEventListener('success', (e) => {
const el = e.target.closest('.form-container').querySelector('.form-success');
el.classList.remove('form-success_hide');
});
// при нажатии кнопки .form-success__btn, расположенной в сообщении
document.querySelector('.form-success__btn').addEventListener('click', (e) => {
form.reset();
e.target.closest('.form-container').querySelector('.form-success').classList.add('form-success_hide');
}); Не получается делать в комплексе так как если и можем собрать в переменную document.querySelectorAll('form'), то как быть с e.target.closest('.form-container').querySelector('.form-success'); не представляю.
Буду благодарен за подсказку.
Приветствую, Александр
Реализовал данную проблему следующим образом.
// Маска телефона для формы
MaskedInput({
elm: document.getElementById("phone"), // select by id
format: "7(___)___-__-__",
separator: "()-",
});
// Маска телефона для формы
MaskedInput({
elm: document.getElementById("phone-1"), // select by id
format: "7(___)___-__-__",
separator: "()-",
});
// Маска телефона для формы
MaskedInput({
elm: document.getElementById("phone-2"), // select by id
format: "7(___)___-__-__",
separator: "()-",
});
// Инициализация формы 1
let form1 = document.querySelector("#feedback-form-1");
if (form1) {
new ItcSubmitForm("#feedback-form-1");
form1.addEventListener("success", (e) => {
const el = e.target.closest(".form-container").querySelector(".form-success");
el.classList.remove("form-success_hide");
});
}
// Инициализация формы 2
let form2 = document.querySelector("#feedback-form-2");
if (form2) {
new ItcSubmitForm("#feedback-form-2");
form2.addEventListener("success", (e) => {
const el = e.target.closest(".form-container").querySelector(".form-success");
el.classList.remove("form-success_hide");
});
}
// Инициализация формы 3
let form3 = document.querySelector("#feedback-form-3");
if (form3) {
new ItcSubmitForm("#feedback-form-3");
form3.addEventListener("success", (e) => {
const el = e.target.closest(".form-container").querySelector(".form-success");
el.classList.remove("form-success_hide");
});
}
Однако попытки оптимизировать код только неудачные.
const forms = {};
document.querySelectorAll("form").forEach((form) => {
forms[form.id] = new ItcSubmitForm(form);
forms[form.id].addEventListener("success", (e) => {
const el = e.target.closest(".form-container").querySelector(".form-success");
el.classList.remove("form-success_hide");
});
Добрый день! Переделал этот момент в форме. Обновил файлы на GitHub.
не получается вставить поле с телефоном. то вообще не приходил в письмах, теперь приходит в виде: Телефон пользователя: %email.phone%
у вас написано:
необходимо добавить строчку, которая будет заменять плейсхолдер %phone% в шаблоне письма:
$search = ['%subject%', '%name%', '%email%', '%message%', '%phone%', '%date%'];
$replace = [EMAIL_SETTINGS['subject'], $data['form']['name'], $data['form']['email'], $data['form']['message'], $data['form']['phone'], date('d.m.Y H:i')];
скажите куда вставляются эти строчки. ни где не могу найти в архиве ни чего похожего на $search = ['%subject%', '%name%', '%email%',…
в process.php вставляла, ни чего не меняется
По какой-то причине, после подключения файла css bootsrap, форма пересатет работать, с чем может быть связанна данная проблема?
Скорее всего название классов в CSS пересекаются, надо изменить.
Приветствую. Еще раз спасибо за ваш полезный сайт. Подскажите как сделать, чтобы кнопка «отправить» была задизаблена, пока корректно не заполнены все поля формы обратной связи?
Собственно сам уже нашел решение через дополнительный скрипт)
Использую форму feedback_v.2.0.1_with_phone, но телефон на почту не приходит, хотя и прописаноа в шаблоне письма: Телефон пользователя: %email.phone%
itchief.ru/assets/uploadify/9/6/a/96af758f22998fc4ac46ebd9bb960d82.jpg
Подскажите, плиз, где что подправить?
Посмотрите может там несколько шаблонов.
В каком смысле несколько? я ни чего не переделывала, все что есть в вашем архиве, то и у меня. Откуда взяться нескольким?
Использую форму с неработающей Captcha scandinaviahouse.ru и это помогает от спама.
Добрый день! Не подскажете, как доработать форму, чтобы после отправки перекидывало на другую страницу (например, страницу благодарности или похожих предложений?)
Здравствуйте! Можно указать нужный URL с помощью location.href:
document.querySelector('form').addEventListener('success', (e) => {
// после успешной отправки формы
location.href = 'https://ya.ru';
});
Добрый день, установил фору но вот сообщения приходят битые, что может быть?
itchief.ru/assets/uploadify/e/e/b/eebcc326804a8241eca41efb1b3fd7bb.png
Добрый день! Попробуйте сначала отладить отправку: itchief.ru/php/feedback-form#comment-11725
Здравствуйте. Не получается настроить отправку через SMTP, форма отрабатывается, но письма не приходят. Через SMTP yandex приходит только уведомление пользователю, что его письмо отправлено, а письмо админу с сообщением не приходит, не могу понять в чем проблема. На этом же хостинге есть ещё один сайт на другом домене сделанный на CMS со встроенной формой, там все работает, а вашу никак не могу запустить. Ещё подскажите, как настроить отправку не через SMTP, а через phpmail. Спасибо.
Попробуйте сначала создать простой php-файл и отестить отправку почты . После того как полностью разберётесь с настройками PHPMailer, перенесёте их в form-processing.php.
Спасибо за ответ, уже разобрался, все работает. Форма отличная, спасибо.
Благодарю вас за отличную форму, Все корректно работает.
Подскажите, пожалуйста, как убрать ограничение на кол-во символов в поле «name». Сейчас в него помещается только 30 символов.
Рад, что понравилась!
Требования к полям устанавливаются в HTML и в form-processing.php:
В данном случае удалите атрибут maxlength="30" .
Здравствуйте! Нашёл вашу форму, т.к. она подходит для моей задачи. Я успешно установил её, немного повозился с капчей (отчасти помогли ваши ответы к комментариям), поменял поля. Была ещё проблема с валидацией поля phone, тоже с помощью обсуждения такой проблемы тут, подкорректировал код, вроде бы теперь всё нормально.
Некоторое время письма приходили на почту, но теперь при нажатии на кнопку отправки письма не приходят, а в консоли ошибка:
Поискав информацию, понял, что этот код отвечает за отправку данных без перезагрузки страницы, но не понимаю: что нужно исправить, чтобы форма отсылала письма на почту успешно?
Код в файле form-processing.js:
// отправка формы
_onSubmit() {
this._elForm.dispatchEvent(new Event('before-send'));
if (this._isCheckValidationOnClient) {
if (!this._checkValidity()) {
const elInvalid = this._elForm.querySelector('.is-invalid');
if (elInvalid) {
if (elInvalid.classList.contains('form-attach')) {
elInvalid.querySelector('input[type="file"]').focus();
} else {
elInvalid.focus();
}
}
return;
}
}
const submitWidth = this._elForm.querySelector('[type="submit"]').getBoundingClientRect().width;
const submitHeight = this._elForm.querySelector('[type="submit"]').getBoundingClientRect().height;
this._elForm.querySelector('[type="submit"]').textContent = '';
this._elForm.querySelector('[type="submit"]').disabled = true;
this._elForm.querySelector('[type="submit"]').style.width = `${submitWidth}px`;
this._elForm.querySelector('[type="submit"]').style.height = `${submitHeight}px`;
this._elForm.querySelector('.form-error').classList.add('form-error_hide');
var xhr = new XMLHttpRequest();
xhr.open('POST', this._elForm.action);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.responseType = 'json';
xhr.onload = () => {
this._elForm.querySelector('[type="submit"]').textContent = this._submitText;
this._elForm.querySelector('[type="submit"]').disabled = false;
this._elForm.querySelector('[type="submit"]').style.width = '';
this._elForm.querySelector('[type="submit"]').style.height = '';
if (xhr.status == 200) {
this._successXHR(xhr.response);
} else {
this._errorXHR();
}
}
xhr.send(this._getFormData());
};
У вас ошибка 500 для form-processing.php. Проверьте на синтаксические ошибки form-processing.php, может там что-то корректировали. Нужно разбираться с ним.
Здравствуйте. А мы можем в тг списаться? объясни мне тоже плиз
Andrey Petricenko, я пока и сам ещё не разобрался совсем. Что именно объяснить?
Здравствуйте. Мне не до конца понятна логика… Надо папку feedback закинуть в корневую папку сайта и вставить HTML в index? + подключить стили и джс, я правильно понимаю(пхп никоим образом не подключается к проекту)? Объясните подробно плиз
Здравствуйте!
1. Папку «feedback» необходимо скопировать в корневую папку сайта.
2. Форму нужно поместить на определённую страницу в необходимое место. Взять пример формы можно из «index.html», который есть в папке «feedback».
3. После этого подключить к странице CSS и JavaScript файлы, а также код для инициализации формы как ItcSubmitForm. То есть так, как это сделано в «index.html».
На этом всё, php-скрипты как-то подключать не нужно, они будут выполняться при посуплении AJAX запросов.
Александр, здравствуйте.
Я использую Вашу Форму обратной связи, релиз – 4.0.3.
Реализовать подобное мне не удается длительное время.
Прежде всего, восхищает ваш профессионализм, неутомимое желание помочь
как новичкам, так бывалым сайтостроителям.
Реализуя Форму обратной связи, я узнал многое для себя как в части верстки,
так и программирования — Javascript, PHP.
Остается загадкой — за счет чего достигается АДАПТИВНОСТЬ.
Сетка Bootstrap не используется, остаются КЛАССЫ.
Если это так, то будет уместно перечислить адаптивные классы.
На локальном сервере я использую PHP 7.4.2
К чему я это?
Первое
define('E
Стройная молодая девушка оголила грудь и киску
Успешный мужчина засадил молодой любовнице в попу
Голые попки на море