Избегайте получения кэшированных результатов из браузера в поле автозаполнения - PullRequest
0 голосов
/ 04 июня 2011

Мне нужна некоторая помощь по функции автозаполнения с использованием ajax. Моя проблема: браузер кэширует предложения из ajax, когда я нажимаю ввод по предложению, поэтому в следующий раз, когда я набираю в поле предложения, я получаю значение deиз кэша

Вот часть кода Ajax, через которую я отправляю значение в код php и получаю ответный текст

xmlhttp.onreadystatechange = function () {if (xmlhttp.readyState== 4 && xmlhttp.status == 200) {document.getElementById ("txtHint"). InnerHTML = xmlhttp.responseText;}} xmlhttp.open ("GET", " offer.php ? q =" + str, true);xmlhttp.send ();

и тег ввода

input id = "valx" onKeyUp = "autocomplet (this.value)"

Пример: я печатаю вполе ввода "Htm", и я получаю предложения "Html", "HTML CSS", "HTML XMLS" .... поэтому, если я выбрал "HTML CSS" и нажал клавишу ввода, в следующий раз, когда я введу "Htm" в поле вводаполе браузер показывает кэшированное значение => «HTML CSS» и, конечно же, я также отправляю свои предложения по ajax «HTML», «HTML CSS», «HTML XMLS» ..... Я хочу избавиться от кэшированных значенийотправить через браузер

Я видел учебник по моей проблеме, но я не знаю, как применить его к своему коду, потому что я уже отправляю запрос через "q".Код из учебника выглядит так

xmlhttp.open ("GET", "demo_get.php? T =" + Math.random (), true);xmlhttp.send ();он использует случайный метод для отправки разных запросов данных каждый раз ??

Любая помощь будет высоко ценится!Спасибо!

Ответы [ 2 ]

0 голосов
/ 04 июня 2011
<input name="myField" .... autocomplete="off" onKeyUp="autocomplet(this.value)">
0 голосов
/ 04 июня 2011

Если браузер мешает автозаполнению AJAX-y, попробуйте установить autocomplete="off" для элемента ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...