Поддержка Проблемы и решения Как сделать отправку формы на Вордпресс с помощью Аякс?

  • Задача простая, сделать отправку формы на Аякс. По моему я аякс не правильно прописал, так как при отправки формі страница перезагружается, а не должна.
    Форма выглядит так

    <form action="" id="my-form" method="POST" >
    <input type="text" name="name" required>
    <input type="tel" name="phone" required>
    <button typr="submit">Получить </button>
    </form>

    AJAX выглядит так:

    <script type="text/javascript" >
            jQuery(document).ready(function($) {
              $('#my-form').submit(function(){
                data = {
                  action: 'myaction',
                  link: $('#my-form').serialize(),
                };
                var ajaxurl = "/wp-admin/admin-ajax.php";
              
                $.ajax({
                  type: 'POST',
                  url: ajaxurl,
                  data: data,
                  success: function(response) {
                    alert('Отправленно!')
                  }
                });
    return false;
               });
            });
            </script><script type="text/javascript" >
            jQuery(document).ready(function($) {
              $('#my-form').submit(function(){
                data = {
                  action: 'myaction',
                  link: $('#my-form').serialize(),
                };
                var ajaxurl = "/wp-admin/admin-ajax.php";
              
                $.ajax({
                  type: 'POST',
                  url: ajaxurl,
                  data: data,
                  success: function(response) {
                    alert('Отправленно!')
                  }
                });
    return false;
               });
            });
            </script>

    А вот обработчик на пхп

    add_action('wp_ajax_myaction', 'my_action_callback');
    add_action('wp_ajax_nopriv_myaction', 'my_action_callback');
     
    
    function my_action_callback(){
        $name= trim($_POST["name"]);
        $phone = trim($_POST["phone"]);
    
        $page_title = "Новая заявка с сайта";
        $message = "Телефон: $phone \nИмя: $name";
        mail('mail@yandex.ru', $page_title, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: mail@yandex.ru" );
        wp_die();
    }
Просмотр 2 ответов — с 1 по 2 (всего 2)
Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Как сделать отправку формы на Вордпресс с помощью Аякс?» закрыта для новых ответов.