【问题标题】:Submit Contact Form without using PHP不使用 PHP 提交联系表
【发布时间】:2012-04-28 05:32:34
【问题描述】:

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

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

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

提前致谢

【问题讨论】:

标签: php javascript forms feedback contact-form


【解决方案1】:

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

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

【讨论】:

  • 所以如果不打开客户的默认邮件查看器并让他们点击发送,就无法发送电子邮件?
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-12-09
          • 1970-01-01
          • 2012-09-30
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多