我还是学生,今天我们的讲师告诉我们,无需使用mailto:函数即可提交联系我们表单的唯一方法是使用PHP。
我发誓,去年另一位讲师向我们展示了一种仅使用javascript的方法。
是否可以使用基本表单和javascript提交反馈/联系表单?如果是这样,你介意分享一个示例吗?
提前致谢
答案 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服务器),并为您提供日志和统计信息。