2017-01-06 2 views
-1

Прежде всего, я новичок. Итак, у меня есть форма в Bootstrap 3.3.7. При нажатии кнопки «отправить сообщение» следует автоматически отправлять электронную почту непосредственно с сайта.AJAX отправить форму отправить странным способом

Хотя, когда я нажимаю «отправить сообщение» открывает перспективу (не отправляет прямо с сайта) и сообщение:

name=Test&email=test%40hotmail.com&message=Test&submit=Send+Message 

Кто-нибудь знает, почему это происходит? Вот код:

HTML:

<form action="mailto:[email protected]?Subject=Exemple%20Contact" onsubmit="return submitForm();" method="post" name="contactform" class="contact-form wow zoomIn" data-wow-delay="0.6s" id="contact-form"> 
       <div class="col-md-6"> 
       <div class="row"> 
        <div class="col-md-12"> 

        <input placeholder="Name" class="input-field" name="name" required="" type="text"> 

       </div> 



       <div class="col-md-12"> 
        <input placeholder=" Email" class="input-field" name="email" required="" type="email"> 
       </div> 
       </div> 
      </div> 
      <div class="col-md-6"> 
       <textarea placeholder=" Message" class="input-field" name="message"></textarea> 
       <input value="Send Message" class="input-send submit" type="submit" name="submit"> 
      </div> 




      <div class="col-md-12 send no-show hidden-xs"><button class=" botao btn btn-sucess"><h4 class="">Mensagem enviada com sucesso! Entraremos em contato brevemente!</h4></button></div> 
     </form> 


JS: 

    function submitForm() { 
     $.ajax({type:'POST', url:'email-action.php', data:$('#contact-form').serialize(), 
     success: function(response) { 
     $('.submit').html('send'); 
     $('.send').removeClass('no-show'); 
     document.contactform.reset();         
     }});     
     return false; 

    } 



PHP: 

    $myemail = '[email protected]'; 

    if (isset($_POST['name'])) { 
    $name = strip_tags($_POST['name']); 
    $email = strip_tags($_POST['email']); 
    $message = strip_tags($_POST['message']); 
    echo "Name:".$name."<br>"; 
    echo "Email: ".$email."<br>"; 
    echo "Message: ".$message."<br>"; 

    $to = $myemail; 
    $email_subject = "Contact from site"; 
    $email_body = "You have received a new message. ". 
    " Here are the details:\n Name: $name \n ". 
    "Email: $email\n Message \n $message"; 
    $headers = "From: $myemail\n"; 
    $headers .= "Reply-To: $email"; 
    mail($to,$email_subject,$email_body,$headers); 
    } 

ответ

0

Вы слишком смущать, просто изменить первую строку йота это:

<form action="" onsubmit="return submitForm();" method="POST" name="contactform" class="contact-form wow zoomIn" data-wow-delay="0.6s" id="contact-form"> 

Действие является URL, где вы отправляете данные. Если это тот же URL-адрес, вы можете оставить его пустым.

Нужна поставить метод как это: метод = «POST» по умолчанию метод GET, и для этого, данные появятся в вашем URL

Теперь в PHP вы можете получить параметры POST в массиве $_POST['someKey'], или если вам нужны параметры в вашем URL-адресе (например, «name = Test & email = test% 40hotmail.com & message = Test & submit = Отправить + Сообщение») использовать $_GET['otherKey'].

Это слишком просто, вы должны изучить некоторые уроки по PHP W3Schools - хорошая веб-страница с большим количеством курсов.

Удачи, и извините за мой плохой английский.

+0

Хорошо! да, довольно смущает, как я ха-ха. Большое вам спасибо! –

Смежные вопросы