5

我还是一名学生,今天我们的讲师告诉我们,无需使用 mailto: 函数即可提交联系我们表单的唯一方法是使用 PHP。

我发誓去年另一位讲师向我们展示了一种仅使用 javascript 的方法。

是否可以使用基本表单和 javascript 提交反馈/联系表单?如果是这样,您介意分享一个示例吗?

提前致谢

4

5 回答 5

3

您可以使用 JavaScript 通过一些参数重定向到mailto:,但这并不理想。还要记住,除了 URL 中的电子邮件地址之外的任何内容mailto:都是非标准的。虽然它适用于许多浏览器,但它并不适用于所有浏览器。

发送电子邮件的最佳方式是在服务器端,使用 PHP 或其他方式。

于 2012-04-16T21:08:54.517 回答
2

表单由浏览器基于 HTML 创建/提交。JavaScript 通常用于增强表单(以许多不同的方式)。基本表单将其数据作为 POST 请求发送。要对数据做任何有用的事情,您需要服务器端代码来处理 POST 请求(例如 PHP)。

于 2012-04-16T21:17:14.190 回答
1

您不能向 javascript 提交表单并期望它执行任何操作。您需要一个服务器端脚本才能接收要处理的表单。Mailto 是一种特定于浏览器/操作系统的方法,不一定会调用任何东西。Javscript 可以在转到服务器进行进一步处理之前处理您的表单,但就像我说的那样,您需要提交到服务器。

于 2012-04-16T21:27:45.370 回答
1

没有 PHP 或浏览器支持,Javascript 无法捕获任何内容。您需要一个服务器端脚本来接收表单并对其进行处理。没有 PHP 或其他服务器端脚本的 Javascript 无法捕获表单。

于 2012-04-16T21:36:16.347 回答
1

您可以使用emailjs.com 之类的服务:

1)配置EmailJS:

<script type="text/javascript" src="https://cdn.emailjs.com/sdk/2.2.4/email.min.js"></script>
<script type="text/javascript">
   (function(){
      emailjs.init("user_USERID");
   })();
</script>

2) 发送电子邮件:

var service_id = 'my_mandrill';
var template_id = 'feedback';
var template_params = {
    name: 'John',
    reply_email: 'john@doe.com',
    message: 'This is awesome!'
};

emailjs.send(service_id,template_id,template_params);

它每月有 200 封免费电子邮件的限制,适用于简历/作品集网站。支持 reCaptcha。

EmailJS 支持不同的电子邮件提供商(包括自定义 SMTP 服务器),并为您提供日志和统计信息。

于 2018-12-10T23:37:24.120 回答