将窗口位置替换为锚点

Replace window.location with anchor

本文关键字:替换 窗口 位置      更新时间:2023-09-26

我有一个选择框,每一行都是一个项目。我想单击一个项目并将我重定向到该项目页面。在每一页上,我都有相同的选择框。我的选择如下所示:

select class="select_box" name="state" style="width:200px;float:right;margin-right:45px;">
    <? for(var i=0;i<proiecte[0].length;i++){?>
    <option class="optiune" value="<?=proiecte[0][i]?>"><?=proiecte[0][i]?></option>
    <? }?>
    </select>

选择框看起来不错。

现在,我的项目链接如下所示:

https://script.google.com/a/macros/COMPANY/s/AKfycbytWWGfWbOj_-Qi6eXwZraMgAS6xa0blmRfXVzLJV4/dev?page=project&projectName=Name%20Of%20Project

如您所见,我的 URL 中有 2 个参数。当我从选择框中选择一个选项时,第一个不需要更改,但第二个必须更改。使用 jQuery,当我单击一个选项并重定向到该页面时,我成功地更改了项目。

$(document).ready(function(){
$(".select_box").change(function(){
console.log('Selected value: ' + $(this).val());
var url = "<?=getPathFromUrl(getScriptUrl());?>?page=project&projectName=";
url += encodeURIComponent($(this).val());
//window.location.replace(url);
window.location.href = url; //i tried what TeilZeitMensch suggested
});
});

我的问题是这个。我单击一个项目名称,然后我被重定向到该页面,而不会追逐我的URL。例如,我在项目1中,我的URL是这样的:....projectName=project1。我单击另一个项目,该项目中的信息会加载,但即使我更改了参数,URL 也不会更改。我的下一个问题也是最大的问题是我只能选择一个项目。单击project2后,它会加载信息和选择选项。但是如果我选择 project3,我会得到一个空白页。我尝试了各种项目组合,每次更改时总是得到一个白页。

应该说,我正在使用Google Apps Script。

编辑:我使用控制台.log,在我使用window.location.href = url;并且URL是正确的之后。我只在链接栏中显示它时遇到问题。

编辑2:我找到了解决方案:我把它放在我的HTML中。

<form id="projNavForm" action="<?=getPathFromUrl(getScriptUrl());?>"       method="GET">
<input type="hidden" name="page" value="project"/>
<input type="hidden" name="projectName" value="" id="projectName"/>
</form>

我使用了这个jQuery:

$(".select_box").change(function(){
if($(this).val() != 'None'){
  $("#projectName").val($(this).val());
  $("#projNavForm").submit();
}

对于 url 的"真正更改",您可以使用:

window.location.href = url;