2016-09-01 3 views
0

Я использую 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

Вы можете показать свою полную html-форму и код javascript? – jakob

+0

my all seach html здесь, я работаю над проектом symfony (передняя часть), это интегрируется в поиск symfony, так что это то, что у меня есть на данный момент, есть ли способ кэшировать мое искомое слово и показывать на странице результатов? –

ответ

0

Вы можете использовать sessionStorage или localStorage, печенье или вы можете отправить форму с 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(); 
}); 
+0

это не работает:/ –

+0

что не работает? возникают ли ошибки в консоли? вы проверяли, сохранены ли теги в sessionStorage? он отлично работает для меня, поэтому вы, вероятно, внесли это неправильно. – jakob

+0

N erors, а в sessionStorage в инспекторе есть новое значение, которое я добавил, но оно не отображается в поле ввода –

0

Протокол HTTP, и, следовательно, веб-серверы stateless. Куки-файлы и переменные сеанса - это самые простые способы обойти это и реализовать межстраничное состояние.

Но есть лучший способ. Похоже, вы используете laravel и лезвие, но этот подход будет работать, как правило, одинаково для любого веб-сервера/библиотеки.

Что вам нужно сделать, это send the tags на странице результатов поиска. В шаблоне вам нужно выяснить способ воссоздания тегов с данными, полученными с сервера.

Смежные вопросы