Ajax和PHP表单提交

Ajax和PHP表单提交,php,ajax,forms,plugins,bootstrap-modal,Php,Ajax,Forms,Plugins,Bootstrap Modal,我正在使用malsup jquery表单插件通过PHP通过电子邮件发送表单,我的表单处于引导模式 一切似乎都很好,我收到了成功的消息,但电子邮件从未出现。它与我的Ajax有关,因为如果我不使用Ajax,表单就会工作,但是,它会将用户发送到PHP url,这就是我决定使用该插件的原因 我曾尝试过malsup的ajaxForm和ajaxSubmit功能,但没有成功,电子邮件从未出现 请注意,我正在使用另一个表单(不同的名称和id)和另一个AJAX和PHP调用,但它们工作得很好。它们是具有不同名称的完

我正在使用malsup jquery表单插件通过PHP通过电子邮件发送表单,我的表单处于引导模式

一切似乎都很好,我收到了成功的消息,但电子邮件从未出现。它与我的Ajax有关,因为如果我不使用Ajax,表单就会工作,但是,它会将用户发送到PHP url,这就是我决定使用该插件的原因

我曾尝试过malsup的ajaxForm和ajaxSubmit功能,但没有成功,电子邮件从未出现

请注意,我正在使用另一个表单(不同的名称和id)和另一个AJAX和PHP调用,但它们工作得很好。它们是具有不同名称的完全独立的文件,等等

插件

实时网站(选择“联系我”按钮)

HTML

PHP modalForm.PHP

<?php

if (isset($_POST['modalSubmit'])) {

if (!$_POST['modalName']) {
$error="<br />Please enter your name";
}
if (!$_POST['modalEmail']) {
$error.="<br />Please enter your email address";
}
if (!$_POST['modalMessage']) {
$error.="<br />Please enter a message";
}

if ($_POST['modalEmail']!="" AND !filter_var($_POST['modalEmail'], 
FILTER_VALIDATE_EMAIL)) {
$error.="<br />Please enter a valid email address";
}
if ($error) {
            $result='<div class="alert alert-danger"><strong>There were error(s) 
in your form:</strong>'.$error.'</div>';
} else {
            if (mail("sitesbymiller@gmail.com", "Message from website modal form!", "
                     Name: ".$_POST['modalName']."
                     Email: ".$_POST['modalEmail']."
                     Phone: ".$_POST['modalPhone']."
                     Message: ".$_POST['modalMessage']."
                     On/Off Switch: ".$_POST['onoffswitch']."
                     Current Website: ".$_POST['modalWebsite']."
                     Favorite Website: ".$_POST['modalFavorite']."
                     Website Features: ".$_POST['modalFeatures']."
                     Website Purpose: ".$_POST['modalPurpose'])) {   
                     $result='<div class="alert alert-success"><strong>Thank 
you!</strong> I\'ll be in touch.</div>';
                     } else {
                     $result='<div class="alert alert-danger">Sorry, there was 
an error sending your message. Please try again later.</div>';
                     }
        }
}
?> 

HTML和PHP文件都很好。只是需要对JS/AJAX进行调整。我使用了ajaxForm方法而不是ajaxSubmit,重命名了我的选项变量,并删除了url选项、type选项和cache选项以及perfecto

大吼为创造这样一个伟大的插件,是用户友好和易于使用

JS/AJAX

var options = {
        clearForm:'true',
        resetForm:'true',
        success:    function() { 
            alert('Thanks for your message! I will get back to you shortly.'); 
        } 

};

// pass options to ajaxForm 
$('#contactModalForm').ajaxForm(options); 

如果您的另一个AJAX/PHP表单工作正常,并且您收到了成功消息,那么问题是否会出现在电子邮件代码中?另外,您应该发布您的PHP。@baum添加了PHP代码。我不想让这篇文章有一英里长,但我想只有把它贴出来才有意义!谢谢你看到的是“谢谢你!我会联系的。”留言?@baum没错,但电子邮件从来没有出现过。表格清空了,一切正常。@baum我把它修好了。我认为一些选项在我的AJAX中引起了问题,我不得不使用ajaxForm而不是ajaxSubmit。谢谢你帮助我。我将很快发布我的代码。
<?php

if (isset($_POST['modalSubmit'])) {

if (!$_POST['modalName']) {
$error="<br />Please enter your name";
}
if (!$_POST['modalEmail']) {
$error.="<br />Please enter your email address";
}
if (!$_POST['modalMessage']) {
$error.="<br />Please enter a message";
}

if ($_POST['modalEmail']!="" AND !filter_var($_POST['modalEmail'], 
FILTER_VALIDATE_EMAIL)) {
$error.="<br />Please enter a valid email address";
}
if ($error) {
            $result='<div class="alert alert-danger"><strong>There were error(s) 
in your form:</strong>'.$error.'</div>';
} else {
            if (mail("sitesbymiller@gmail.com", "Message from website modal form!", "
                     Name: ".$_POST['modalName']."
                     Email: ".$_POST['modalEmail']."
                     Phone: ".$_POST['modalPhone']."
                     Message: ".$_POST['modalMessage']."
                     On/Off Switch: ".$_POST['onoffswitch']."
                     Current Website: ".$_POST['modalWebsite']."
                     Favorite Website: ".$_POST['modalFavorite']."
                     Website Features: ".$_POST['modalFeatures']."
                     Website Purpose: ".$_POST['modalPurpose'])) {   
                     $result='<div class="alert alert-success"><strong>Thank 
you!</strong> I\'ll be in touch.</div>';
                     } else {
                     $result='<div class="alert alert-danger">Sorry, there was 
an error sending your message. Please try again later.</div>';
                     }
        }
}
?> 
var options = {
        clearForm:'true',
        resetForm:'true',
        success:    function() { 
            alert('Thanks for your message! I will get back to you shortly.'); 
        } 

};

// pass options to ajaxForm 
$('#contactModalForm').ajaxForm(options);