如何根据引用页面显示div

时间:2013-01-07 00:06:49

标签: javascript css html5

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

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

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

我希望这很清楚 谢谢!

1 个答案:

答案 0 :(得分:1)

由于我不知道你网页的确切结构,我建议你使用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方法

form.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,如果刷新消息消息,则会显示消息。

祝你好运。