2017-02-19 3 views
0

У меня возникла проблема с отправкой этой PHP-почты.PHP mail отправить ajax

Я имею эту форму в index.php странице:

<form action=""> 
<input placeholder="Name" class="form" id="name" type="text" required/> 
<input placeholder="Email" class="form" id="mail" type="email" required /> 
<input placeholder="Object" class="form" id="object" type="text" required /> 
<textarea placeholder="Type here..." id="text" class="form"></textarea> 
<input class="formBtn" type="submit" id="submit"/> 
<input class="formBtn" type="reset" /> 

Этот скрипт на нижней части index.php

<script> 
$('#submit').click(function() { 
    var nameform = $('#name').val(); 
    var mailform = $('#mail').val(); 
    var objectform = $('#object').val(); 
    var textform = $('#text').val(); 
    var mailcomplete = 'Name='+nameform+'Mail='+mailform+'Object='+objectform+'Message='+textform; 

    $.ajax({ 
     type: "POST", 
     url: 'php/mail.php', 
     data: mailcomplete, 
     success: function() { 
      alert("Mail send OK!"); 
     } 

    }); 
}); 

и это в PHP/mail.php

<?php 

$name = $_POST["nameform"]; 
$mail = $_POST["mailform"]; 

mail($mail, $name, "Hello!"); 

?> 

Но не работайте ... Можете ли вы мне помочь? Tnk

+1

есть какая-то ошибка? Что на самом деле происходит? похоже, что страница обновляется, когда вы нажимаете кнопку, поэтому она не запускает код ajax. –

ответ

0

Изменение PHP/mail.php к этому:

<?php 

$name = $_POST["Name"]; 
$mail = $_POST["Mail"]; 

mail($mail, $name, "Hello!"); 

?> 

Также в вашем скрипте в файле index.php, изменение:

var mailcomplete = 'Name='+nameform+'Mail='+mailform+'Object='+objectform+'Message='+textform; 

в

var mailcomplete = 'Name='+nameform+'&Mail='+mailform+'&Object='+objectform+'&Message='+textform; 

Это должно сработать. Проблема заключалась в том, что вы передаете переменные Name и Mail в data, а не в nameform и mailform. Кроме того, форматирование данных было неправильно сделано в скрипте. Лемм знает, все еще не работает.

0

Чейн ваша кнопка

<input class="formBtn" type="button" id="submit"/> 

и

var mailcomplete = 'Name='+nameform+'&Mail='+mailform+'&Object='+objectform+'&Message='+textform; 

, а также PHP скрипт

<?php 
$name = $_POST["Name"]; 
$mail = $_POST["Mail"]; 
mail($mail, $name, "Hello!"); 
Смежные вопросы