搜索输入文本

时间:2016-09-01 10:13:01

标签: javascript jquery twitter-bootstrap token

我正在使用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>

2 个答案:

答案 0 :(得分:0)

您可以使用sessionStoragelocalStorage 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进行操作。在模板中,您需要找出一些方法来重新创建标签,其中包含从服务器返回的数据。