javascript - 如何根据引用页面显示一个 div

标签 javascript css html

我是一名业余编码员,在新的一年里我开始学习 HTML5 和 CSS3。

我目前面临挑战,我有一个单页 html 文件 (index.html)。在页面中有一个 html 表单,它对 php 文件有一个操作。一旦 php 文件处理了表单,它就会将用户引导回 index.html。我想做的是在我的网站顶部显示一个 div,上面写着“感谢您填写表格!”

我该怎么做?我假设我们会做某种“如果推荐页面是 form.php 然后显示 div”,但我不知道如何检测推荐页面。另外我不知道使用什么语言,我假设是 javascript。我想远离 php,因为我不想让我的单页 html 文件变成 php 文件。

我希望这是清楚的 谢谢!

最佳答案

由于我不知道您页面的确切结构,我建议您使用 session 和 htaccess 以允许在 html 文件中使用 php。

处理后立即在您的 php 文件中写入以下内容:

@session_start();
$_SESSION['submitted_msg'] = "You have submitted a form";

在您的 html 文件中,将此写在您希望显示消息的位置:

<?php if (isset($_SESSION['submitted_msg'])) { ?>
<div><?php print($_SESSION['submitted_msg']);?></div>
<?php unset($_SESSION['submitted_msg']);} ?>

要实现此功能,您需要在元素的根目录中有一个 .htaccess 文件。里面有以下代码:

AddType application/x-httpd-php .html

希望这对您有所帮助,如果您需要其他方法,请写下更多详细信息。

更新 1:启用 Cookie 的 JavaScript 方法

表单.php

<?php
  # above is form processing...
  setcookie ("submit_message", 'thanks...', time()+3600, '/');
  header("Location: index.html");
  exit;
?>

index.html

   <html>
<head></head>
<body>
    <script type="text/javascript">

    function readCookie(name)
    {
        var cookiename = name + "=";
        var ca = document.cookie.split(';');
        for(var i=0;i < ca.length;i++)
        {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1,c.length);
            if (c.indexOf(cookiename) == 0) return c.substring(cookiename.length,c.length);
        }
        return null;
    }

function deleteCookie( name, path, domain ) 
{

   document.cookie=name+"="+((path) ? ";path="+path:"")+((domain)?";domain="+domain:"") +
                                   ";expires=Thu, 01 Jan 1970 00:00:01 GMT";
}

    window.onload = function()
    {
        var msg = '';
        if (readCookie('submit_message') != null)
        {
            msg = readCookie('submit_message');

            deleteCookie('submit_message','/');
        }
        document.getElementById('message').innerHTML = '<div style="background:green">'+msg+'</div>';
    }
</script>

<div id="message">

</div>
</body>
</html>

如果你去形成 php,它会将你重定向到 index.html 并显示消息,如果你刷新消息消失。

祝你好运。

关于javascript - 如何根据引用页面显示一个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14188182/

相关文章:

html - 在容器 div 内水平居中 div

Javascript/JQuery 从表格的输入框中获取值

javascript - 将 JavaScript RegEx 转换为 JSON 格式

Javascript - 删除 JSON 字符串中出现的 u',解析返回意外标记

javascript - 如何确定哪个元素收到了事件?

html - 小型设备上 Bootstrap 中的网格对齐

html - wordpress 下拉菜单现在保持可见,而之前可以正常工作

带有第 n 个 child 的 css 网格

java - 在新窗口或选项卡中打开链接

javascript - 如何在内容加载后加载 HTML