使用jQuery选项卡提交表单后,使用URL哈希刷新页面

时间:2018-02-10 21:54:06

标签: javascript jquery html url hash

我很长一段时间都是自学成才的用户,从来没有遇到过以某种形式或其他形式回答的问题。真棒社区,谢谢大家!

所以我对为什么javascript无法正确刷新页面感到茫然。

我有一个非常大的页面,我使用jquery和垂直标签用url哈希标记。这是我最近在更新到最新版本后添加的新功能。

单击“提交”后,表单将刷新,如果设置了$ _POST [update],则会运行一组查询。然后我有一个刷新页面的javascript超时(理想情况下是正确的选项卡ex:home / database.php?file = 101#tab3)

我的杂乱代码的摘录:

if(isset($_POST['update']))
{ do a bunch of sql stuff
....
<pre>
<?PHP
//unset update variable
$_POST = array();

//print_r(get_defined_vars());

?>
</pre>
</br>
<script type="text/javascript">
    function Redirect() {
    $('#redirect').trigger('click');
    }
    var currenturl = window.location.href;

    document.write("<form action=" + currenturl +"><input type=submit name=redirect value=Redirect></form>");

    document.write("</br>You will be redirected back to the file in 2 seconds.");


    setTimeout('Redirect()', 2000);
    </script>
<?php
mysql_close($conn);
}
else
{ display usual data....check boxes etc

现在我尝试过各种可能的方式。我清除了$ _POST数组,因此页面应该重新加载显示信息,但它没有。但是我对运行的查询的确认显示0行已更新,因此它不会触发sql,但也不能正常刷新。

我找到了一个在浏览器会话中存储最后点击的标签的功能,但是当您切换文件时,它会跳到该标签。相反,我想显示默认选项卡。

我甚至尝试按下一个按钮,点击它会转到上面显示的正确网址。当我手动点击它但它在我通过javascript触发它时不起作用。甚至可以转到相应的标签页。

我正在使用以下功能更新地址栏中的网址。还使用了最新版本的chrome。

<script>
$( "#tabs" ).tabs({
    activate: function(event, ui) {                   
        window.location.replace('#' + $(ui.newPanel).attr('id'));
        var curTab = $(ui.newPanel).attr('id');
        console.log(curTab);
    }
});
</script>

1 个答案:

答案 0 :(得分:0)

为什么不在<form_url>?<params>#3将该号码作为request param in the url发送后,而不是发送该号码,例如<form_url>?tab=3