Отправка формы без перезагрузки страницы?

Ссылка скопирована
PHP
1 ответ

Есть форма

<form method="post" class="form_modal">     							  <input type="text" required name="you_name" class="name_call" placeholder="Ваше Имя"> 						<input type="tel" required name="you_phone" class="phone_call" placeholder="Номер телефона"> 						<button type="submit" class="btn_form">Отправить</button> 						<div class="message_call"></div>     						</form>

<form method="post" class="form_modal"> <input type="text" required name="you_name" class="name_call" placeholder="Ваше Имя"> <input type="tel" required name="you_phone" class="phone_call" placeholder="Номер телефона"> <button type="submit" class="btn_form">Отправить</button> <div class="message_call"></div> </form>

Но страница перезгружается, форма не отправляется, подскажите в чем может быть ошибка?

Дополнительно:

А что в консоле devtools? наверняка там есть какая-нибудь JS ошибка.
Поставьте там галочку "не очищать консоль после перезагрузки страницы" и проверьте, что там при нажатии на кнопку.

  • Если jquery не подключилась должным образом, то отправка будет стандартным образом реализована.
    Вашу задачу можно решить без jquery.
  • Если адресатов несколько, как у вас там в строке мыл, с разделителем через запятую, надо сначала разбить эту строку, и вызывать mail для каждого ящика
  • alexalexes, каким образом?
  • x73s, для начала просто поставьте в форму для отладки путь до обработчика (action), чтоб отработал пых. Дальше уже будете жс отлаживать, можно до строчки отправки поставить выход и дамп переменных. Там после уже локейшон отрабатывает
  • Смотрим, как реализовать аналог $.ready
    https://learn.javascript.ru/onload-ondomcontentloaded
    Смотрим, как отправить ajax через XMLHttpRequest, прицепив к нему formData:
    https://learn.javascript.ru/xhr-forms#formdata
    (там же смотрим, как получить callback через onreadystatechange).
  • $('form').submit(function (event) {
    Назначает обработчик всем формам, которые встретились на странице. Авторизации, например...
    Стоит назначить конкретной форме ID и обращаться по нему.
  • Проверяйте, что jquery точно подключился. Смотрите другие ошибки в консоли. Код который вы предоставили в песочнице отрабатывает корректно.

    Отправка формы без перезагрузки страницы?

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Павел Админов Ответ

    Для отправки формы без перезагрузки страницы можно использовать технологию AJAX (Asynchronous JavaScript and XML). AJAX позволяет отправлять запросы на сервер без необходимости перезагрузки всей страницы, что обеспечивает более плавный и динамичный пользовательский опыт.

    Для реализации отправки формы без перезагрузки страницы с помощью AJAX вам понадобится следующий код на стороне клиента (в данном случае на языке JavaScript с использованием библиотеки jQuery):

    $(document).ready(function(){
        $('form').submit(function(e){
            e.preventDefault(); // предотвращаем стандартное действие отправки формы
     
            var formData = $(this).serialize(); // получаем данные формы
     
            $.ajax({
                type: 'POST',
                url: 'обработчик.php', // замените на URL вашего обработчика формы
                data: formData,
                success: function(response){
                    // обработка успешного ответа от сервера
                },
                error: function(){
                    // обработка ошибки
                }
            });
        });
    });

    $(document).ready(function(){ $('form').submit(function(e){ e.preventDefault(); // предотвращаем стандартное действие отправки формы var formData = $(this).serialize(); // получаем данные формы $.ajax({ type: 'POST', url: 'обработчик.php', // замените на URL вашего обработчика формы data: formData, success: function(response){ // обработка успешного ответа от сервера }, error: function(){ // обработка ошибки } }); }); });

    В данном примере кода при отправке формы скрипт предотвращает стандартное действие браузера, собирает данные формы с помощью метода serialize() и отправляет их на сервер с помощью метода $.ajax(). После успешной отправки запроса на сервер и получения ответа, вы можете обработать ответ в функции success().

    На стороне сервера вам также понадобится обработчик формы (обработчик.php в данном примере), который будет принимать данные, обрабатывать их и возвращать ответ.

    Таким образом, используя AJAX, вы можете отправлять формы без перезагрузки страницы, что повысит удобство использования вашего веб-приложения.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно