【问题标题】:javascript 'go to page' form scriptjavascript“转到页面”表单脚本
【发布时间】:2013-06-18 09:15:54
【问题描述】:

我需要在我的网站上设置一个表单,使人们能够通过在表单中​​输入数字并单击“开始”来快速导航到页面。

我有以下部分代码:

<script type="text/javascript">
function goTo()
{
window.location = document.forms[0].where.value ;
return false;
}
</script>
</head>

<body>
<form action="" method="post" onsubmit="return goTo()">
<input type="text" name="where" value="Enter page number" onfocus="if(this.value ==     this.defaultValue) this.value = '';" onblur="if(this.value == '') this.value = this.defaultValue;">
<input type="submit" value="Go">
</form>
</body>
</html>

我将此代码注入到带有 url 的页面中,例如:

www.examplesite.com/navigate

表单在 /navigate 页面上显示得很好。现在我希望我的用户能够在与我网站上的 url 对应的表单中输入一个数字。例如要到达:

www.examplesite.com/1234

用户将在表单中输入“1234”并按“开始”。

然而,脚本试图打开的页面是:

www.examplesite.com/navigate/1234

有谁知道如何修改脚本以确保它始终在站点的根目录而不是子目录中打开页面?

提前感谢您的帮助。欣赏它。

【问题讨论】:

    标签: javascript forms redirect


    【解决方案1】:

    试试这个:

    window.location = "/" + document.forms[0].where.value ;
    

    / 表示根。没有它,路径是相对于当前文件夹的。
    在某些情况下你可以使用base 标签,看看:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base

    【讨论】:

    • 删除了我的答案,因为这个更好 - 但我认为您的意思是“URL”而不是“文件夹”。
    • @MatthewGilliard 实际上“文件夹”在这里我认为还可以,你知道因为“url”是整个地址的东西,包括哈希/参数/等
    • 您好 Cherniv,感谢您如此迅速地回复 - 您的解决方案非常有效。非常大的帮助,感谢您抽出时间为我查看此内容。
    • @user2471356 太好了,很高兴它帮助了你!
    • URL 与文件夹无关 (en.wikipedia.org/wiki/Folder_(computing))。 “相对 URL”是相对于 URL 的。
    猜你喜欢
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多