<html>
<title>My Web Page</title>
<form onsubmit="return redirect()">
<input id="search_form_input" type="text" name="query" />
<input type="submit" value="Search" />
</form>
<script type="text/javascript">
function redirect() {
var link = document.getElementById('link');
link.href += document.getElementById('search_form_input')
return false;
}
</script>
<body>
<p>
<a id="link" href="http://www.cnn.com/">CNN</a>
</p>
</body>
</html>
基本上就像来自表单的输入一样,它将自己扩展到CNN.com上的URL。例如,政治是在表格中输入,提交,点击CNN链接会将一个政策带到CNN.com/politics。我是以正确的方式来做这件事吗?
答案 0 :(得分:3)
你在做什么,以及你是如何做的,这很疯狂。寻求其他解决方案,但问题很简单。您将整个元素附加到href
字符串。而不是
link.href += document.getElementById('search_form_input')
使用
link.href += document.getElementById('search_form_input').value
完整的结果是:
<html>
<title>My Web Page</title>
<form onsubmit="return redirect()">
<input id="search_form_input" type="text" name="query" />
<input type="submit" value="Search" />
</form>
<script type="text/javascript">
function redirect() {
var link = document.getElementById('link');
link.href += document.getElementById('search_form_input').value
return false;
}
</script>
<body>
<p>
<a id="link" href="http://www.cnn.com/">CNN</a>
</p>
</body>
</html>
至少尝试jQuery。