带表单的自定义URL

时间:2012-02-21 22:04:17

标签: javascript codeigniter url redirect uri

我正在使用codeigniter,并且有一个搜索栏,我想要映射到控制器中的搜索类。该网址目前为search/searchterm。我想构建一个坚持这个的表单,并且实际上只是接受表单中的任何内容并将其传递给URL。我尝试过像这样提交javascript重定位:

document.location.href= "<?= base_url() ?>" + document.forms["searchbox"]["search"].value

但它似乎不起作用。你们有什么建议最适合这样的事情?我相信很多人都需要类似我想要的项目。

2 个答案:

答案 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>