Javascript 返回按钮,从php返回到没有历史记录的html页面div id。返回()

Javascript 返回按钮,从php返回到没有历史记录的html页面div id。返回(),javascript,jquery,html,Javascript,Jquery,Html,我遇到了一个问题,两个html文件之间的连接使用了*.js 我有index.html,我有formular.php,我有backbutton.js 我想做的是:如果我通过按钮发送我的公式,我会调用formular.php将文本写入我的MySQL数据库。如果有人忘记输入电子邮件地址,我会得到一个错误页面,页面上会有一个“后退”按钮。用这个按钮,我想回到公式页面 我的问题是,我的index.html是一个包含3个不同div的页面,ID为page1、page2、page3。当用户完成测验时,页面会从第

我遇到了一个问题,两个html文件之间的连接使用了*.js

我有index.html,我有formular.php,我有backbutton.js

我想做的是:如果我通过按钮发送我的公式,我会调用formular.php将文本写入我的MySQL数据库。如果有人忘记输入电子邮件地址,我会得到一个错误页面,页面上会有一个“后退”按钮。用这个按钮,我想回到公式页面

我的问题是,我的index.html是一个包含3个不同div的页面,ID为page1、page2、page3。当用户完成测验时,页面会从第1页更改为第2页,并显示

function checkplayer() {
if (player1 == true && player2 == true && player3 == true && player4 == true) {
    setTimeout(function() {
        $(document).ready(function() {
            $("#page1").fadeOut(1000);
            setTimeout(function() {
                $("#page2").fadeIn(1000);
            }, 1500);
        });
    }, 1000);
}
所以我的整个页面是1页,有3个不同的div,它们是淡入淡出的

如果我将formular.html中的“后退”按钮与
history.back()一起使用我在page1分区着陆。但是我需要用公式进入page3分区。如果我重新加载页面,也会发生同样的情况。我总是在第1页登陆,因为我的index.html以第1页开始,第2页和第3页设置为
display:none
。这就是为什么我想在这种情况下,历史回退不起作用,因为我回退总是意味着新加载的index.html

我试着做一个backbutton.js

function backButton() {

    jQuery("#errorpage").fadeOut(0);
    jQuery("#page3").fadeIn(0);
}

errorpage已淡出,但page3未淡入,因为backbutton.js不知道page3 div所在的index.html

是否有可能使errorpage淡出,而index.html page3淡入?是否可以将index.html page3 div“导入”到backbutton.js中

有没有人知道如何在这3个文件之间建立连接,或者有没有其他方法可以将errorpage设置为fadeout,将my page3 div设置为fadein


感谢您的帮助。谢谢

您可以将哈希传递到URL:

function backButton() {
    jQuery("#errorpage").fadeOut(0);
    window.location = "index.html#page3";
}
然后在原始页面上检查相同的哈希值,如下所示:

function checkHash() {
    $(document).ready(function() {
        if (window.location.hash === "#page3") {
            $("#page3").fadeIn(1000);
        }
    });
}

也可以考虑,如果没有输入电子邮件地址,首先不要让用户继续前进。

< P>可以将哈希传递给URL:

function backButton() {
    jQuery("#errorpage").fadeOut(0);
    window.location = "index.html#page3";
}
然后在原始页面上检查相同的哈希值,如下所示:

function checkHash() {
    $(document).ready(function() {
        if (window.location.hash === "#page3") {
            $("#page3").fadeIn(1000);
        }
    });
}

也可以考虑,如果没有输入电子邮件地址,首先不要让用户继续前行。

< P>考虑使用哈希来识别3个不同的页面;i、 e.当从第1页切换到第2页时,通过将URl更改为“your_PHP_page.PHP#page2”等发出信号。这样,浏览器历史记录(以及重新加载)应该能够正确处理它。在页面JS中,聆听hash changed事件并显示相应的div。(注意,按location.href=…#page2更改hash不会重新加载页面,而是会触发事件。) 关于错误页面(淡入/淡出),您可以将其放在同一页面上。然后使用ajax将数据发回服务器,而不是加载新页面。

考虑使用散列(#)来标识3个不同的页面;i、 e.当从第1页切换到第2页时,通过将URl更改为“your_PHP_page.PHP#page2”等发出信号。这样,浏览器历史记录(以及重新加载)应该能够正确处理它。在页面JS中,聆听hash changed事件并显示相应的div。(注意,按location.href=…#page2更改hash不会重新加载页面,而是会触发事件。)
关于错误页面(淡入/淡出),您可以将其放在同一页面上。然后使用ajax将数据发回服务器,而不是加载新页面。

您可以在div中使用hash术语作为id,wee可以通过添加如下哈希(index.html#page2)来调用,以到达特定div。这将直接到达id,而不是重新加载整个页面。同时,我们可以使用jquery和ajax脚本使用淡入淡出来发布数据

您可以在div中使用hash术语作为id,wee可以通过添加这样的hash(index.html#page2)来调用它,以到达特定的div。这将直接到达id,而不是重新加载整个页面。同时,我们可以使用jquery和ajax脚本使用淡入淡出来发布数据

通常指导用户使用锚。使用HTML5,您可以通过使用历史/状态API

我使用history.js插件重写了您的代码。阅读示例代码中的注释以查看发生了什么。将page2finished()和throw_error()函数替换为当前现有的方法,以告知用户何时完成第2页以及何时应显示错误。包含这些代码是为了向您展示此代码应该采用的流程

HTML
引导用户使用锚已经很常见。使用HTML5,您可以通过使用历史/状态API

我使用history.js插件重写了您的代码。阅读示例代码中的注释以查看发生了什么。将page2finished()和throw_error()函数替换为当前现有的方法,以告知用户何时完成第2页以及何时应显示错误。包含这些代码是为了向您展示此代码应该采用的流程

HTML