2015-05-20 70 views
-2

我有一个html form,我想要实现两件事情: 1) - 当用户点击"submit"时,数据会自动发送到特定的电子邮件,并且2) - 用户被重定向到"confirmation page"。我不想使用mailto函数,因为它的浏览器依赖性很差。我想使用一个简短的脚本...是否有可能使用js?如何将表单数据发送到特定的电子邮件?

+2

*简短的回答*:无,仅使用js是不可能的。您需要服务器端语言来发送消息。 javascript可以告诉服务器通过表单提交或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); 
} 
2

不,在纯JavaScript中是不可能的。

相关问题