【发布时间】:2015-10-10 23:15:34
【问题描述】:
我正在制作一个单页网站,我想在一个部分中添加一个联系表。所以我正在使用 PHP,事情是,我似乎找不到任何基本的预制表单,它们不会打开新网页或在提交后将您引导到新页面。我想保留这一页,所以一旦表单中的所有内容都正确并且已提交,我希望出现一个叠加层。没有弹出窗口或重定向。这可能需要 jQuery,但我不知道如何把它放进去,所以它实际上是这样做的。
这是我在 HTML 中设置表单的方式:
<form action="mail.php" method="post" enctype="multipart/form-data" >
<label></label>
<input name="name" required placeholder="Your Name">
<label></label>
<input name="email" type="email" required placeholder="Your Email">
<label></label>
<textarea name="message" cols="20" rows="5" required placeholder="Message"></textarea>
<input id="submit" name="submit" type="submit" value="Submit">
</form>
这里是mail.php
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: Website';
$to = 'email@emailhere.com';
$subject = 'Email Inquiry';
$body = "From: $name\n E-Mail: $email\n Message:\n $message";?>
<?php
if ($_POST['submit']) {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Thank you for your message! </p>';
} else {
echo '<p>An error occurred. Try sending your message again.</p>'; }}?>
现在,我希望能够删除感谢消息的回声,并将其替换为我制作的叠加层的 jQuery 代码。
$(document).ready(function() {
$("#overlay").show();
});
我错过了该功能的一部分,因为现在它只会在页面准备好时显示。但我不知道把它放在哪里/它如何与这个 PHP 一起工作。
我的困惑是,当您点击提交时,我不确定 PHP 会告诉它转到某个空白页面的位置,所以我不知道在哪里停止和启动脚本。我也只是不知道如何将这一切正确地融合在一起。它是在 PHP 中还是在我让它检查所有元素的脚本中,然后才能调用“谢谢覆盖”。我只是真的不知道从这里往哪个方向走。
非常感谢您抽出宝贵时间。我自己学习了很多,所以我的知识是零散的。
如果我能帮助解决任何问题,请告诉我。
-rj
【问题讨论】:
-
删除 if ($_POST['submit']) { 之前的@jewelhuq 如果你只删除它,它会产生语法错误......
标签: php jquery html forms overlay