ajax не отправляет переменные формы

147
25 октября 2017, 06:35
           <form  method="post" id="form3">
              <input  type="text" name="name"/>
              <input type="text"name="phone"/>
              <input type="submit" value="Отправить">             
           </form>

Скрипт

 $(document).ready(function() {
   $("#form3").submit(function() {
    $.ajax({
        type: "post",
        url: "post.php",
        data: $(this).serialize()
    }).done(function() {
        alert("Спасибо");
    });
    return false;
 });
});

файл обработчик post.php

<?php
$name = $_POST['name'];
$phone = $_POST['phone'];   
$headers = 'Content-type:text/plain; Charset=utf-8';    
$result = "My name: ".$name."\nMy phone: ".$phone;
$subject = "message from the site"; 
mail('pupckin@out.com', $subject, $result, $headers);
?>

Срабатывает mail() и приходит только $result без переменных из $_POST

Answer 1

У вас у формы нет сабмита. А действие висит на сабмит форы.

<form  method="post" action='t3.php' id="form3">
    <input  type="text" name="name"/>
    <input type="text" name="phone"/>
    <input type="submit">      
</form>

Немного исправил js: появились функции при успехе, ошибке. Сделал вывод в консоль браузера.

$(document).ready(function() {
    $("#form3").submit(function(e) {
        e.preventDefault();
        $.ajax({
            type: $(this).attr('method'),
            url: $(this).attr('action'),
            data: $(this).serialize(),
            success: function(result){console.log(result)},
            error: function(err){console.log(err);}
        }).done(function() {
            console.log("Спасибо");
        });
    });
});

На стороне php нужно сделать проверки существования переменных - как минимум.

READ ALSO
prepare, execute возвращают пустые значения

prepare, execute возвращают пустые значения

В этом методе prepare, execute возвращают пустое значение

152
Проблемы с кодировкой при редиректе

Проблемы с кодировкой при редиректе

Добрый деньПишу сайт на October CMS и для поиска использую готовый плагин SiteSearch

240
NetBeans и подсветка кода

NetBeans и подсветка кода

Подскажите как настроить NB чтобы короткие дескрипторы PHP то же раскрашивали синтаксис, сейчас в коротких дескрипторах синтаксис не подсвечивается...

251