【问题标题】:Avoid geting cached results from the browser in an autocomplet field避免在自动完成字段中从浏览器获取缓存结果
【发布时间】:2011-09-08 02:22:47
【问题描述】:

我需要一些关于使用 ajax 的自动完成功能的帮助 我的问题是:当我在建议上按 Enter 键时,浏览器正在缓存来自 ajax 的建议,所以下次我在建议字段中输入时,我会从缓存中获得 de 值

这是 Ajax 代码的一部分,我通过它向 php 代码发送一个值并获取响应文本

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

和输入标签

输入 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(); 是用随机的方式,每次发送不同的数据请求??

任何帮助将不胜感激!谢谢!

【问题讨论】:

    标签: ajax


    【解决方案1】:

    如果浏览器干扰了您的 AJAX-y 自动完成功能,请尝试在输入元素上设置 autocomplete="off"

    【讨论】:

    • 这是输入 我应该如何在这个输入中设置 autocomplet="off"。我不明白你的想法
    • @soso <input autocomplete="off" onKeyUp="autocomplet(this.value)" />
    【解决方案2】:
    <input name="myField" .... autocomplete="off" onKeyUp="autocomplet(this.value)">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-21
      • 2011-12-29
      • 1970-01-01
      相关资源
      最近更新 更多