0

我有一个用于搜索操作的 HTML 页面。

一旦用户输入搜索条件并单击搜索按钮,搜索结果应显示在同一页面上。

但是,在搜索结果页面上,由于刷新/重定向到同一页面,用户输入的搜索字段值被清除。

如何捕获字段值并显示它们?

4

3 回答 3

0

我认为最好的选择是合并您的搜索表单和结果页面,并让您的表单提交给自己,如下所示:

<form method="get" action="">
    <input type="text" name="search" value=""/>
    <input type="submit" value="Submit"/>
</form>

这样,您仍然可以通过使用搜索使用的表单提交来访问搜索的项目,并使value=""搜索字段的属性值相同;在 PHP 中,这将是:

<form method="get" action="">
    <input type="text" name="search" value="<?php echo $_GET["search"]; ?>"/>
    <input type="submit" value="Submit"/>
</form>

如果您仍然想要一个中间页面,请使用隐藏的输入字段:

<input type="hidden" name="searched"/>

如果您有用户提交要重定向的表单。

于 2012-06-28T06:02:31.403 回答
0

我认为您正在寻找的是如何使用 GET 字符串变量从搜索表单中获取值对。您将访问locationobject 属性,如果有.search查询字符串(GETURL 段),它将在哪里为您提供。

例如:

<form method="get">
<p>
<input type="text" name="q1" value="Search Criteria 1">
<input type="text" name="q2" value="Search Criteria 2">
<input type="text" name="q3" value="Search Criteria 3">
<button type="submit">Submit Search</button>
</p>
</form>

我们可以尝试以下方法来查看GETURL 中的内容(如果有的话):

<script type="text/javascript">
(function(){
    var getpairs = location.search.substring(1).split('&'),
        pairs = {},
        i = getpairs.length,
        pair;

    while (i--) {
        pair = getpairs[i].split('=');
        pairs[pair[0]] = decodeURI(pair[1]) || true;
    }

    if (pairs.length) {
        console.log(pairs);
    } else {
        console.log('Nothing in GET string.');
    }
})();
</script>

http://jfcoder.com/test/get.html

于 2012-06-28T06:48:15.930 回答
0

我认为你可以使用这样的东西

<input type="text" name="bar" value="${param.bar}">
于 2014-02-07T15:24:45.447 回答