我为表单提交了PHP:
if($_POST['submit']) {
$recipient="test@gmail.com";
$subject="A Hooray moment has been shared with you";
$sender=$_POST["sender"];
$senderEmail=$_POST["senderEmail"];
$message=$_POST["message"];
$mailBody="Name: $sender\nEmail: $senderEmail\n\n$message";
mail($recipient, $subject, $mailBody, "From: $sender <$senderEmail>");
?>
最初,javascript只是为了揭示点击而不是包含一点来将原始设置设置为隐藏&#39; .done div。那时还有一个CSS代码将默认.done显示设置为none。原始的javascript在下面。
$( ".button" ).click(function(ev) {
ev.preventDefault();
$(".done").fadeIn('slow');
});
我现在已经编写了javascript来点击提交按钮后显示DIV,没有CSS显示:无设置。这是当前的Javascript:
$('document').ready(function() {
$('.done').hide();
$('.button').click(function(e) {
$('.done').show();
//e.preventDefault();
});
});
当我填写表单并点击提交按钮时,PHP将加载,但div不会出现。我收到一封确认电子邮件(我想要),但没有div。当我设法让div出现时,PHP部分停止工作(按下提交按钮将显示隐藏的div,但表单实际上没有提交,我没有收到任何电子邮件)。当PHP部分工作,我得到一封确认电子邮件,然后.done div永远不会显示。下面是我的html供参考。
在点击提交按钮后,我正在寻找一种方法来显示div并提交表单(两个事件)。用PHP(或JS)编写它是有意义的,但是我对PHP不太熟悉,无法解决这个问题。提前感谢您的帮助。
<div class="col-md-6 col-md-offset-3">
<div class="done">
<h2>HOORAY!!!</h2>
<img src="http://usatftw.files.wordpress.com/2013/11/824607200.gif?w=1000" alt="Touchdown dance" style="width:500px;height:400px; margin-top:0px; padding-top:0px;"></img>
</div>
<div class="form-group col-md-6 col-md-offset-3">
<input type="radio" class="form-control radio" id="radio1"/>OMG! The greatest thing happened today...<br />
<input type="radio" class="form-control radio" id="radio2"/>You wouldn't believe what happened...<br />
<input type="radio" class="form-control radio" id="radio3"/>No s*** you'll never guess what happened...<br />
</div>
<form method="post" action="testemailform.php" id="form">
<div class="container1">
<input name="sender" placeholder="Name (Optional)">
</div>
<div class="container2">
<input name="senderEmail" placeholder="Your Email (Optional)">
</div>
<div class="container3">
<textarea rows="5" cols="50" name="message" placeholder="Tell me what happened!"></textarea>
</div>
<div class="button">
<input type="submit" name="submit">
</div>
</form>
</div>
答案 0 :(得分:0)
而不是javascript,使用php在提交表单时显示div。
所以创建新的php变量$ css,它包含样式表代码。
<?php
//keep variable blank when page is loaded first time
$css = "";
if($_POST['submit']) {
//add css to variable when form is posted
$css = "display: none;";
...your email code goes here...
}
?>
现在在html中,打印$ css变量。
<div class="done" style="<?php echo $css; ?>" >
答案 1 :(得分:0)
当您提交表单时(正如您所做的那样)页面重新加载.. ..之前任何JS功能都没有意义,因为您希望Javascript记住在最后一页上,您单击了一个按钮...
使用PHP在表单提交后设置一个变量,然后可以用来确定是否显示额外的<div>
。