我有一个用于搜索操作的 HTML 页面。
一旦用户输入搜索条件并单击搜索按钮,搜索结果应显示在同一页面上。
但是,在搜索结果页面上,由于刷新/重定向到同一页面,用户输入的搜索字段值被清除。
如何捕获字段值并显示它们?
我有一个用于搜索操作的 HTML 页面。
一旦用户输入搜索条件并单击搜索按钮,搜索结果应显示在同一页面上。
但是,在搜索结果页面上,由于刷新/重定向到同一页面,用户输入的搜索字段值被清除。
如何捕获字段值并显示它们?
我认为最好的选择是合并您的搜索表单和结果页面,并让您的表单提交给自己,如下所示:
<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"/>
如果您有用户提交要重定向的表单。
我认为您正在寻找的是如何使用 GET 字符串变量从搜索表单中获取值对。您将访问location
object 属性,如果有.search
查询字符串(GET
URL 段),它将在哪里为您提供。
例如:
<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>
我们可以尝试以下方法来查看GET
URL 中的内容(如果有的话):
<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>
我认为你可以使用这样的东西
<input type="text" name="bar" value="${param.bar}">