Javascript 转到给定的URL(如果我们不在那里),显示表单并滚动到它

Javascript 转到给定的URL(如果我们不在那里),显示表单并滚动到它,javascript,html,jquery,Javascript,Html,Jquery,所以我有一段代码,在我点击元素之前表单是隐藏的。如果我在该页面(profile.php),它会显示表单并向下滚动到它,但如果我不在该页面(例如:index.php),它会转到该页面(profile.php),但不会显示表单,也不会向下滚动到它,直到我再次单击该元素(它在菜单中) 下面是我的html代码: <a id='showForm'>Apply</a> <div class="formL" style="display:none&q

所以我有一段代码,在我点击元素之前表单是隐藏的。如果我在该页面(profile.php),它会显示表单并向下滚动到它,但如果我不在该页面(例如:index.php),它会转到该页面(profile.php),但不会显示表单,也不会向下滚动到它,直到我再次单击该元素(它在菜单中) 下面是我的html代码:

<a id='showForm'>Apply</a>
<div class="formL" style="display:none">
    //code
</div>
应用
//代码
这是我的剧本:

<script>
        $('#showForm').click(function() {
            
            let currentURL = $(location).attr("href");
            let redirectURL = "http://127.0.0.1/dealaim/profile.php#formL"
            if (currentURL !== redirectURL) {
                $(location).attr("href", redirectURL);
                var formL = $('.formL').show();
                document.documentElement.scrollTop = formL[0].offsetTop;
            } else {
                var formL = $('.formL').show(); 
                document.documentElement.scrollTop = formL[0].offsetTop;
            }
</script>

$('#showForm')。单击(函数(){
让currentURL=$(位置).attr(“href”);
让重定向URL=”http://127.0.0.1/dealaim/profile.php#formL"
如果(当前URL!==重定向URL){
$(location.attr(“href”,重定向URL);
var formL=$('.formL').show();
document.documentElement.scrollTop=formL[0]。offsetTop;
}否则{
var formL=$('.formL').show();
document.documentElement.scrollTop=formL[0]。offsetTop;
}

重定向后的代码不会起任何作用;该代码需要在重定向到的页面上运行,而不是在执行重定向的页面上运行

一旦发生重定向,就需要传递一些信息,页面可以接收并使用这些信息自动调用函数。因此:

$('#showForm').click(function() {
        
    let currentURL = location.href;
    let redirectURL = "http://127.0.0.1/dealaim/profile.php?showForm=1"
    if (currentURL !== redirectURL)
        location = redirectURL;
    else {
        let formL = $('.formL').show(); 
        document.documentElement.scrollTop = formL[0].offsetTop;
    }
});
if (location.href.includes('showForm=1') $('#showForm').click();

请注意,执行
$(location.attr('href')没有任何意义
-您只是不必要地调用jQuery并将简单的对象和属性组合包装到其API中。只需使用
location.href

谢谢,但它不起作用,就像我单击应用程序,但它停留在原来的位置,不做任何更改。您说的是重定向没有发生吗?回调是否启动?是的,重定向没有启动发生。我猜回调也不会启动。不要猜测;您只需要进行一些基本调试。如果回调根本没有启动,则您的问题超出了此问题的范围。这表明事件没有启动,这表明选择器没有找到元素。