我需要在我的网站上设置一个表单,通过在表单中键入数字并单击"开始",人们可以快速导航到页面.
我有以下代码部分工作:
<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>
Run Code Online (Sandbox Code Playgroud)
我将此代码注入带有url的页面,例如:
www.examplesite.com/navigate
表单在/导航页面上显示正常.现在,我希望我的用户能够在与我网站上的网址对应的表单中输入数字.例如,去:
www.examplesite.com/1234
用户将在表单中键入"1234"并按"开始".
然而,正在发生的事情是脚本试图打开的页面是:
www.examplesite.com/navigate/1234
有没有人知道如何修改脚本以确保它始终在站点的根目录而不是子目录中打开页面?
在此先感谢您的帮助.欣赏它.
试试这个:
window.location = "/" + document.forms[0].where.value ;
Run Code Online (Sandbox Code Playgroud)
/
意味着根.没有它,路径是相对于当前文件夹.
在某些情况下,您可以使用base
标签,看看:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base