2011-07-21 12 views
0

次の問題があります。以前は自動補完の入力をしていましたが、最近はフィールドから除外しました(これはもはやネザーセリではありません)。キャッシュの結果からオートコンプリートを削除する

フィールドは現在:<input type="text" class="required text motivationname valid" maxlength="30" onblur="isDoubleMotivation(this.value);" value="" id="title" name="title">何も特別な権利はありませんか?

私は都市に関する情報でいっぱいになる別の自動補完フィールドを持っています。

var elements = $('input.auto_plaatsnaam'); 
    elements.each(function() { 
     $(this).autocomplete({ 
      dataType: "json", 
      source: "/common/ajax/citysearch.php", 
      minLength: 1, 
      cache: false, 
      delay: 100 
     }); 
    }); 

問題は次のとおりです。一部のユーザーは、最初の(タイトル)入力フィールドでオートコンプリートを取得します。キャッシュを削除すると問題が解決するため、キャッシュの問題だと思っています。フィールドがロードされる前にphpまたはjsで強制的にキャッシュをフラッシュできますか?すべてのキャッシュを削除してもサイトにはあまり効果がありませんので、これらのフィールドのキャッシュを削除することができたらと思います。

答えて

1

に対応するスクリプトタグを変更することができますが、ファイルにあなたのjsを維持すると仮定。皆さんありがとう!

0

堅牢なソリューションは、タイムスタンプを含むクエリURLにパラメータを追加することです。

例(実際にテストしていません):

var elements = $('input.auto_plaatsnaam'); 
elements.each(function() { 
    $(this).autocomplete({ 
     dataType: "json", 
     source: function() { return "/common/ajax/citysearch.php?t="+new Date().getTime()}, 
     minLength: 1, 
     cache: false, 
     delay: 100 
    }); 
}); 

この方法では、AJAX呼び出しのURLは常に異なっているので、何もキャッシュはブラウザによって行われません。

+0

これは私が知っていることですが、他のフィールドが自動補完をなぜなぜ無効にしているのか分かりません。結果のキャッシュは問題ありません。 – Tim

0

「myjs.js」あなたはjQueryのUIのより新しいバージョンの更新は問題が解決したようだ。この

<script src="/path/to/myjs.js?version=0.01"></script> 
関連する問題