我正在使用bootstrap-tokenfield
我在搜索栏中使用了tokenfield,并且有一个小问题,让我说我搜索: searchtag1 , searchtag2 ,然后点击搜索和页面加载我的在搜索输入中搜索resuts没有 searchtag1 , searchtag2
我想在搜索页面的输入框中搜索我要搜索的标签,如何完成此操作?
我正在使用默认引导程序表单
<div class="search">
<form class="form-inline" role="form" action="{{ url('sonata_search') }}" method="GET">
<div class="form-group">
<input id="tags" class="form-control tokenfield" name="search" value="tag, tag2" placeholder="Search" type="text" />
<button type="submit" id="sonata_search_submit" class="btnbtn-default">
<i class="fa fa-search"></i>
</button>
</div>
</form>
</div>
答案 0 :(得分:0)
您可以使用sessionStorage
或localStorage
Cookie,也可以使用AJAX提交表单,只需在ajax成功的输入字段中显示已提交的标签,无需重新加载页面。
以下是sessionStorage
的示例:
$(function() {
// on form submit set tags in sessionStorage
$('form').on('submit', function() {
var tagsValue = $('#tags').val();
sessionStorage.setItem('tags', tagsValue);
});
// if tags exist in sessionStorage set them as value in input field
var tagsSession = sessionStorage.getItem('tags');
if (tagsSession != null){
$('#tags').val(tagsSession);
}
$('#tags').tokenfield();
});
答案 1 :(得分:0)
HTTP协议,因此网络服务器 stateless 。 Cookie和会话变量是解决这个问题并实现跨页面状态的最简单方法。
但还有更好的方法。看起来您正在使用 laravel 和刀片,但这种方法对于任何Web服务器/库通常都以相同的方式工作。
您需要对搜索“结果”页面send the tags进行操作。在模板中,您需要找出一些方法来重新创建标签,其中包含从服务器返回的数据。