我正在使用codeigniter,并且有一个搜索栏,我想要映射到控制器中的搜索类。该网址目前为search/searchterm
。我想构建一个坚持这个的表单,并且实际上只是接受表单中的任何内容并将其传递给URL。我尝试过像这样提交javascript重定位:
document.location.href= "<?= base_url() ?>" + document.forms["searchbox"]["search"].value
但它似乎不起作用。你们有什么建议最适合这样的事情?我相信很多人都需要类似我想要的项目。
答案 0 :(得分:3)
这是另一个样本。它是一个有效的xhtml文档,无论您在搜索框中输入什么,都可以在Google中进行搜索。它适用于FF10,IE8,Chrome 17和Opera 11.61。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Search</title>
<script type="text/javascript">
window.onload = function(){
var form = document.getElementById("form1");
form.onsubmit = function(){
var searchText = document.getElementById("searchText");
window.location = "http://www.google.com/search?q=" + searchText.value;
return false;
};
};
</script>
</head>
<body>
<form id="form1" method="post" action="">
<div>
<label for="searchText">Search:</label>
<input type="text" id="searchText" name="searchText" />
<input type="submit" value="Click" />
</div>
</form>
</body>
</html>
答案 1 :(得分:0)
如果它不在表单内部,那么在你需要设置onsubmit事件以便为表单设置适当的操作的表单中这样做。
这是一个简单的工作示例:
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">
function foo() {
document.forms["searchbox"].action= window.location.href+"/" + document.forms["searchbox"]["search"].value;
return true;
}
</script>
</head>
<body>
<form id="searchbox" onsubmit="foo()" >
<input type="text" id="search" />
<input type="submit" />
</form>
</body>
</html>