Сохранение значения поиска после обновления страницы

0

У меня есть HTML-страница с формой, которая передает значения на внешнюю страницу PHP.

<form method="post" action="getContent.php">
    <input type="hidden" name="fromTest" id="fromTest"/>
    <input type="hidden" name="untilTest" id="untilTest"/>
    <input type="hidden" name="latTest" id="latTest"/>
    <input type="hidden" name="longTest" id="longTest"/>
    <input type="hidden" name="search1" id="search1"/>
    <input type="hidden" name="search2" id="search2"/>
    <input type="submit" class="sendAll" value="Gather News!">
</form>

Эта сторона кода работает нормально, значения велики. Моя проблема заключается в сохранении этой информации и повторном использовании ее после того, как эта страница php была вызвана и вернулась обратно в мой html файл.

Я хочу установить первый поисковый термин "# search1", чтобы заменить значение внутри feed1mainheader.

  <div id="feed1MainHeader"></div>

Я понимаю, как это сделать, я использовал его несколько раз через этот сайт, но моя проблема теряет значение, когда страница обновляется?

   $('#feed1MainHeader').val($("#search2").val());

Я немного читал о файлах cookie, но я очень новичок в этом, и я не совсем понимаю, как реализовать их для такого рода функций?

Есть идеи?

  • 0
    Вы можете сделать его параметром URL (например, www.yoursite.com/something?param1=val&param2=anotherval ... и т. д.) и извлечь его оттуда. На самом деле, способ, которым вы создали свою форму, должен работать именно так.
  • 0
    @pennstatephil Нет, не будет, он настроен как POST, а не как GET. Посмотрите на сохранение переменной POST в переменную сеанса.
Показать ещё 1 комментарий
Теги:

2 ответа

2

Невозможно, чтобы браузер сам сохранил ценность для вас. Но есть и другие трюки, которые вы можете использовать в этом вопросе.

метод autocomplete

В этом методе вы используете свойство ввода поля автозаполнения. В каком браузере будет отслеживаться каждый входной данные в этом конкретном поле.

Вот пример

<input type="text" autocomplete="on" name="somename" />

В первый раз он ничего вам не покажет. Во второй раз он отобразит последнее выставленное значение, затем отобразит список значений, представленных в этом поле.

метод localStorage

Вы можете сохранить значение в localStorage (только для браузеров с поддержкой HTML5).

https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage

Вы можете сохранить это значение в браузере (клиентском) устройстве, а затем снова открыть его с помощью JavaScript.

Кэширование

Вы можете использовать службу кэширования для хранения данных и значений, которые пользователь предоставляет вам в браузере в виде кеша.

Язык JavaScript или серверный язык может использоваться для хранения файлов кеша.

Вот некоторые из методов, которые вы можете реализовать. Метод Autocomplete является самым простым и простым из всех. Однако вы можете использовать и другие методы. Они сохранят ваши последние данные и предоставят вам их, когда они вам понадобятся.

Удачи!

  • 0
    Файл cookie сохранит только последнее значение, по которому вы искали, тогда как, как и предлагалось, использование автозаполнения должно запросить у вас все, что вы искали ранее, что соответствует символам, введенным до сих пор. Похоже, лучшее решение для меня.
  • 0
    Большое спасибо, это отличный ответ. Я просто немного новичок, чтобы полностью понять, что происходит. С автозаполнением, браузер хранит значения где я могу получить доступ, чтобы изменить значение моего основного заголовка? Localstorage кажется довольно удачным для того, что я искал, но, просматривая примеры, я не уверен, как реализовать это для приведенного выше кода. Есть идеи? Огромное спасибо.
Показать ещё 1 комментарий
1

Попробуйте использовать локальное хранилище, например:

localStorage.setItem("searchitem", $("#search2").val());

и при проверке обновления, если существует. Если он существует, загрузите его

Ещё вопросы

Сообщество Overcoder
Наверх
Меню