[英]JavaScript is not redirecting
我的Javascript没有重定向。 这是我尝试过的:
<html>
<head>
<title>Hello world</title>
</head>
<body>
<form method="POST">
Search: <input id="searchterm" type="text" name="searchterm">
<input type="submit" value="Submit" onclick="processFormData()">
</form>
<script>
function processFormData()
{
var term = document.getElementById("searchterm").value;
window.location = window.location.href + term;
}
</script>
</body>
</html>
无论浏览器中的网址如何,我都希望用户被重定向到指定的网址。 这在不同的机器上应该是通用的。 我是JS新手,请指教。
使用location.host 。 尝试这个:
function processFormData()
{
var term = document.getElementById("searchterm").value;
window.location = "http://"+location.host+"/"+term;
return false;
}
和,
<form method="POST">
Search: <input id="searchterm" type="text" name="searchterm">
<input type="submit" value="Submit" onclick="return processFormData()">
</form>
因此,现在您的网址将如下所示: http : //www.example.com/searchTerm
首先,将onclick
事件处理程序声明移至<form>
标记。 接下来,将其更改为onsubmit
事件处理程序声明。 最后在它前面添加一个return
值(以防止默认事件处理,即实际提交表单):
<form method="POST" onsubmit="return processFormData();">
Search: <input id="searchterm" type="text" name="searchterm" />
<input type="submit" value="Submit" />
</form>
然后还添加一个return false;
在processFormData
的末尾:
function processFormData()
{
var term = document.getElementById("searchterm").value;
window.location = window.location.href + term;
return false;
}
在这里提琴: http : //jsfiddle.net/xwcvq7bf/
您可以指定网址本身,
window.location = "url"+term;
如果您只想获取主机名( http://www.example.com ),
window.location = location.hostname +"/"+term;
或如果您想获取href( http://www.example.com/home/about.htm ),
window.location = location.href +"/"+term;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.