我希望我的联系表单更改为“成功发送邮件”。邮件发送时因此,联系表格中的div必须为display:none
,并且来自邮件的div成功'必须display:block
对吗?
不知怎的,我不能在这方面取得成功。
这是我使用的php代码(只是最终原因,这是唯一需要的部分):
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
if ($success) {
?>
<style type="text/css">
#mail_succeed {
display: block;
}
#mail_failed {
display: none;
}
#contat-area{
display: none;
}
</style>
<?php
header('Location: index.php#contact');
exit();
} else {
?>
<style type="text/css">
#mail_failed {
display: block;
}
#mail_succeed {
display: none;
}
#contact-area{
display: none;
}
</style>
<?php
header('Location: index.php#contact');
exit();
}
?>
这是我现在的html代码(它退出了一些代码,我还添加了模态,因为它可能很重要):
<div id="myModal" class="modal">
<div class="modal-content">
<div class="modal-header">
<span class="close">x</span>
<h4>Contact Form</h4>
</div>
<div class="modal-body">
<div id="contact-area">
<form method="post" action="contactengine.php">
<div class="nametel">
<div class="name">
<label for="Name">Name:</label>
<input type="text" name="Name" id="Name">
</div>
<div class="tel">
<label for="Tel">Tel:</label>
<input type="text" name="Tel" id="Tel">
</div>
</div>
<label for="Email">Email:</label>
<input type="text" name="Email" id="Email">
<label for="Message">Message:</label><br>
<textarea name="Message" rows="20" cols="20" id="Message"></textarea>
<input type="submit" name="submit" value="Send" class="submit-button" onclick="showDiv()">
</form>
<div style="clear: both;"></div>
</div>
<div id="mail_succeed" style="display: none">
<h3>Mail succesfull send, go back to </h3>
<span class="close"><a href="index.php#contact">contact page</a></span>
</div>
<div id="mail_failed" style="display: none">
<h3>Mail not send, go back to </h3>
<span class="close"><a href="index.php#contact">contact page</a></span>
</div>
</div>
<div class="modal-footer"></div>
</div>
</div>
我可能发送了很多代码,但我不确定要留下什么,因为它很重要。
答案 0 :(得分:1)
如果您不想使用jQuery/Ajax
,则可以执行以下操作:
在contactengine.php
中,将标题重定向更改为:
header('Location: index.php?resp=1#contact');
和
header('Location: index.php?resp=0#contact');
分别为成功和失败。
然后在index.php
上添加这个小的PHP代码到你的头部(或者你定义样式的地方):
if(isset($_GET['resp']) && $_GET['resp']==1){
echo '
<script type="text/javascript">$("#ButtonThatOpensModal").click();</script>
<style type="text/css">
#mail_succeed {
display: block;
}
#mail_failed {
display: none;
}
#contat-area{
display: none;
}
</style>';
}
elseif(isset($_GET['resp']) && $_GET['resp']==0){
echo '<style type="text/css">
#mail_failed {
display: block;
}
#mail_succeed {
display: none;
}
#contact-area{
display: none;
}
</style>';
}