netlify是否会阻止php表单处理?

时间:2018-12-07 08:58:06

标签: netlify

我将我所有的站点都切换到git和netlify,现在我的联系表格都无法用于我的静态站点。有谁知道他们是否阻止您使用自己的PHP表单处理?

他们以前都工作过。我阅读了netlify的一些有关表单处理的信息,但这听起来不是强制性的。我想保留我已经拥有的表格,而不使用它们的表格。

这就是我所拥有的: (我无法显示联系表单,因为堆栈溢出实际上是在拾取html并阅读它。没有发布代码。它只会将标签之间的单词放到标签本身上,而不是标签本身……尽管她是一张图片:

enter image description here

    <script>
function submitContactForm(){
  var reg = /^[A-Z0-9._%+-]+@([A-Z0-9-]+\.)+[A-Z]{2,4}$/i;
  var name = $('#inputName').val();
  var email = $('#inputEmail').val();
  var phone = $('#inputPhone').val();
  var message = $('#inputMessage').val();
  if(name.trim() == '' ){
    alert('Please enter your name.');
    $('#inputName').focus();
    return false;
  }else if(email.trim() == '' ){
    alert('Please enter your email.');
    $('#inputEmail').focus();
    return false;
  }else if(email.trim() != '' && !reg.test(email)){
    alert('Please enter valid email.');
    $('#inputEmail').focus();
    return false;
  }else if(phone.trim() == '' ){
    alert('Please enter valid phone number.');
    $('#inputPhone').focus();
    return false;
  }else{
    $.ajax({
        type:'POST',
        url:'contactForm.php',
     data:'contactFrmSubmit=1&name='+name+'&email='+email+'&phone='+phone+'&message='+message,
        beforeSend: function () {
            $('.submitBtn').attr("disabled","disabled");
            $('.modal-body').css('opacity', '.5');
        },
        success:function(msg){
            if(msg == 'ok'){
                $('#inputName').val('');
                $('#inputEmail').val('');
                $('#inputPhone').val('');
                $('#inputMessage').val('');
                $('.statusMsg').html('<span style="color:green;">Thanks for contacting us, we\'ll get back to you as soon as possible.</p>');
            }else{
                $('.statusMsg').html('<span style="color:red;">Some problem occurred, please try again.</span>');
            }
            $('.submitBtn').removeAttr("disabled");
            $('.modal-body').css('opacity', '');
        }
    });
  }
}
</script>

这是我在互联网上找到的:

$("#my-form").submit(function(e) {
  e.preventDefault();

  var $form = $(this);
  $.post($form.attr("action"), $form.serialize()).then(function() {
    alert("Thank you!");
  });
});

enter image description here

1 个答案:

答案 0 :(得分:1)

根据表单的提交,目标网址为contactForm.php

$.ajax({
    type:'POST',
    url:'contactForm.php'
    .
    .
.....

尽管Netlify允许在静态站点构建时运行PHP代码,但CDN上没有php运行时,因此将没有php端点来处理您的提交。

这是不可能的。

某些选项

将您的表单发布到将接受您的PHP表单提交的外部服务器(旧服务器)URL。

使用第三方表单API提交您的表单。

使用Netlify表单。