1
<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>

基本上 id 就像来自表单的输入,以将自身扩展到 CNN.com 的 URL。例如,在表单中输入政治,提交,然后单击 CNN 链接会将其带到 CNN.com/politics。我会以正确的方式解决这个问题吗?

4

1 回答 1

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。

于 2012-11-18T00:06:30.097 回答