【发布时间】:2014-05-19 16:43:46
【问题描述】:
我正在制作将表单数据发送到数据库和邮件中的联系表单(两者都工作正常)但是在提交表单时,我想在 .mail_middle 类中显示感谢消息并隐藏表单。
现在我收到消息“感谢您的评论!”而不是同班的“谢谢你的报价请求”。
我希望显示和隐藏“感谢您提供报价请求”表单。
请帮助我进一步编写代码,因为我不知道现在该做什么.....
form.php
<form method='post'>
Name: <input type='text' name='name' id='name' />
Email: <input type='text' name='email' id='email' />
<input type='submit' value='Submit' class='mailbtn' />
</form>
process_db.php
<?php
[...]
mysql_query($query);
echo "Thank you for your Comment!";
mysql_close($con);
include("mail.php");
}
HTML
<div class="middle mail_middle">
<fieldset>
<?php include("form.php"); ?>
<?php include("process_db.php"); ?>
</fieldset>
</div>
<script type="text/javascript">
$('.mailbtn').live('click',function(){
$.ajax({
type: "POST",
async : false,
url: "mail.php",
data: { name:name, email:email, phn:phn, budget:bgt, comment:txt, loc:loc}
})
.done(function( msg ) {
$('.mail_middle').html('');
$('.mail_middle').html('Thank you for quote request.');
return false;
});
});
</script>
mail.php
<?php
$to = array("email-id1","email-id2");
$subject = "my_subject";
$message .= "<table border='1'>";
$message .= "<tr><td>Name </td><td>".$_POST['name']."</td></tr>";
$message .= "<tr><td>Email </td><td>".$_POST['email']."</td></tr>";
$message .= "</table>";
$from = "email-id";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= 'from: '.$from .'' . "\r\n" .
'Reply-To: '.$from.'' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
foreach($to as $row)
{
mail($row,$subject,$message,$headers);
}
echo "Mail Sent.";
die;
?>
【问题讨论】:
-
第一。为什么要使用直播功能?只需单击事件就会很有用。另外,您的 .mail_middle 类元素在哪里?为什么你会返回 done 回调?
-
这些是我发现的,因为我是编码语言的新手。请帮助您的建议...
-
同意@Cheluis,还取决于所使用的 jQuery 版本。如果它是最近的,
.live()根本不起作用。 -
请贴出你使用的jQuery版本...
-
@user3423283 我知道您是编码语言的新手,但质疑您为什么要这样做将有助于您了解您想要实现的目标。此外,如果您是该语言的新手,您应该尝试其他一些方法来学习它。干杯。
标签: javascript php html database forms