Javascript 使用ajax的Formspree联系人表单不起作用

Javascript 使用ajax的Formspree联系人表单不起作用,javascript,jquery,ajax,jekyll,contact-form,Javascript,Jquery,Ajax,Jekyll,Contact Form,我正在使用formspree向电子邮件发送数据。代码如下所示。 HTML: javascript代码如下所示: <script> $(document).ready(function() { // $('#h2').hide(); $('#contact-form').submit(function(e) { var name = $('#inputName') var email = $('#inputEmail') var message = $('#in

我正在使用formspree向电子邮件发送数据。代码如下所示。 HTML:

javascript代码如下所示:

<script>
$(document).ready(function() {
// $('#h2').hide();
$('#contact-form').submit(function(e) {
    var name = $('#inputName')
    var email = $('#inputEmail')
    var message = $('#inputMessage')

    if(name.val() == "" || email.val() == "" || message.val() == "") {
      $("#fail").show().delay(3000).hide(0);
      return false;
    }
    else {
      $.ajax({
        method: 'POST',
        url: '//formspree.io/mymail@gmail.com',
        data: $('#contact-form').serialize(),
        datatype: 'json'
      });
      e.preventDefault();
      $(this).get(0).reset();
      $('#success').show().delay(3000).hide(0);
    }
  });
});
</script>

代码看起来不错,但我在提交经formI测试的it localhost时并没有收到任何电子邮件。我已经检查了formspree网站的功能,似乎我的电子邮件没有被阻止。我已经阅读了答案,它工作正常,但我想修复此代码。

Formspree有一个黄金帐户。这将隐藏电子邮件地址。如果您使用其他服务,如在CloudCannon上托管或通过formsubmit.io或formbucket服务使用表单,您的电子邮件地址也将被真正隐藏。然后您可以在表单的操作中使用一个简单的post


更新:目前2020年5月,免费计划会隐藏您的电子邮件地址。注册需要。

今天,Formspree允许在免费计划上使用AJAX,并提供表单ID url,因此您无需在操作端点中公开您的电子邮件地址

没有javascript它能工作吗?通过将表单的操作设置为://formspree.io/mymail@gmail.com?@JoostS是的,如果我们直接设置post,它确实可以工作,但问题是它会在地址栏上显示电子邮件。知道javascript也可以被机器人读取。@JoostS我不知道我会尝试formsubmit.io让我看看它是否以同样的方式工作formsubmit.io工作正常!我也不需要额外的javascript代码。谢谢你,伙计!对于那些需要帮助的人。Formspree允许ajax在今天的免费计划中隐藏电子邮件地址。formsubmit.co在这种情况下也很有用
<script>
$(document).ready(function() {
// $('#h2').hide();
$('#contact-form').submit(function(e) {
    var name = $('#inputName')
    var email = $('#inputEmail')
    var message = $('#inputMessage')

    if(name.val() == "" || email.val() == "" || message.val() == "") {
      $("#fail").show().delay(3000).hide(0);
      return false;
    }
    else {
      $.ajax({
        method: 'POST',
        url: '//formspree.io/mymail@gmail.com',
        data: $('#contact-form').serialize(),
        datatype: 'json'
      });
      e.preventDefault();
      $(this).get(0).reset();
      $('#success').show().delay(3000).hide(0);
    }
  });
});
</script>