2015-05-20 2 views
-2

У меня есть html form, и я хотел бы достичь двух вещей: 1) - Когда пользователь нажимает на "submit", данные автоматически отправляются на конкретное электронное письмо и 2) - пользователь перенаправляется на "confirmation page". Я не хочу использовать функцию mailto, так как это довольно плохо, так как зависит ее браузер. Я хотел бы использовать легкий сценарий ... Возможно ли использование js?Как отправить данные формы на конкретный адрес электронной почты?

+2

* короткий ответ *: нет , невозможно использовать только js. вам нужен серверный язык для отправки сообщения. javascript может сообщить серверу отправить сообщение через форму submit или ajax. – chiliNUT

ответ

3

Вы не можете использовать это только с помощью JavaScript.


Что вы можете сделать, это использовать AJAX для отправки данных формы на стороне сервера скрипт, который будет отправлять электронную почту, то обработчик успеха AJAX может перенаправить страницу в какой-то странице подтверждения.

Некоторые хосты имеют скрипты электронной почты, такие как скрипты CGI, для обработки электронной почты для вас на стороне сервера.

Это, по существу, лучшее, что вы можете сделать на стороне клиента (с помощью JQuery для простоты):

var data = { 
    name: $("#form_name").val(), 
    email: $("#form_email").val(), 
    message: $("#msg_text").val() 
}; 
$.ajax({ 
    type: "POST", 
    url: "email.php", 
    data: data, 
    success: function(){ 
     // Redirection on success 
     var url = "http://example.com/confirmation.html";  
     $(location).attr('href',url); 
    } 
}); 

и сущностной стороне сервера сценария:

<?php 
if($_POST){ 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 

    // Input sanitation omitted 

    // Send the email 
    mail("[email protected]", "Message from {$name} - {$email}", $message); 
} 
Смежные вопросы