Ajax和PHP表单提交
我正在使用malsup jquery表单插件通过PHP通过电子邮件发送表单,我的表单处于引导模式 一切似乎都很好,我收到了成功的消息,但电子邮件从未出现。它与我的Ajax有关,因为如果我不使用Ajax,表单就会工作,但是,它会将用户发送到PHP url,这就是我决定使用该插件的原因 我曾尝试过malsup的ajaxForm和ajaxSubmit功能,但没有成功,电子邮件从未出现 请注意,我正在使用另一个表单(不同的名称和id)和另一个AJAX和PHP调用,但它们工作得很好。它们是具有不同名称的完全独立的文件,等等 插件 实时网站(选择“联系我”按钮) HTML PHP modalForm.PHPAjax和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调用,但它们工作得很好。它们是具有不同名称的完
<?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);