繁体   English   中英

JavaScript未重定向

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM