我知道这已经发布了好几次,但我似乎无法弄清楚。这是我正在尝试做的事情的概述:
我有一个位于 PHP 文件中的 HTML 表单。在提交表单时,该操作会调用表单所在的同一 PHP 页面。在执行此操作时,我的服务器在该页面顶部运行一些 PHP 代码,该代码收集插入到表单中的信息并通过电子邮件将其发送给我。发送电子邮件后,我想隐藏包含我的表单的 DIV 并将其替换为将出现的隐藏的 DIV,感谢用户提交表单等。
我的问题是,如何让 PHP 脚本运行 Javascript 函数?我的电子邮件发送得很好,我只是无法替换 DIV。
这是我的代码。
HTML
<form id="contact-form" name="contact-form" action="contact.php" method="post">
<table>
<tr>
<td width="79"><p><font style="color:#ebe775;">*</font>Name:</p></td>
<td width="309"><input type="text" name="name" id="name" placeholder="First Last" size="45" required></td>
</tr>
<tr>
<td><p><font style="color:#ebe775;">*</font>Email:</p></td>
<td><input type="email" name="email" id="email" size="45" required></td>
</tr>
<tr>
<td><p><font style="color:#ebe775;">*</font>Message:</p></td>
<td><textarea name="message" id="message" cols="42" rows="8" required></textarea></td>
</tr>
<tr>
<td style="text-align:center;" colspan="2"><input type="submit" value="Submit" name="submit" id="submit"><input type="hidden" name="parse_var" id="parse_var" value="contact-form"></td>
</tr>
</table>
</form>
</div>
<div id="hidden_div" style="display:none;">
<h2>Thank You!</h2>
<p>Your form was submitted. We'll review it and get back with you as soon as we can.</p>
</div>
</div>
</div>
PHP 脚本
<?php
if ($_POST['parse_var'] == "contact-form"){
$emailSubject = 'New CONTACT Form Submission';
$to = 'my.email@server.com';
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$body = <<<EOD
以下信息是使用 JakesCreativeDesign.com 上的 CONTACT 表格提交的。
姓名:$name
电子邮件:$email
消息:$message
EOD;
$headers = "From: contact@jakescreativedesign.com\r\n";
$headers .= "Content-type: text/html\r\n";
mail("$to", "$emailSubject", "$body", "$headers");
} ?>
Javascript 函数
<script type="text/javascript">
function showHide() {
var div = document.getElementById("hidden_div");
if (div.style.display == 'none') {
div.style.display = '';
}
else {
div.style.display = 'none';
}
var div = document.getElementById("form");
if (div.style.display == '') {
div.style.display = 'none';
}
else {
div.style.display = '';
}
}
</script>