提交联系表格而不使用PHP

时间:2012-04-16 21:05:45

标签: php javascript forms feedback contact-form

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

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

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

提前致谢

5 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

您可以使用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服务器),并为您提供日志和统计信息。