2011-02-01 2 views
4

新しいバージョンのFirefoxでは、フォームに記入されたものを覚えている新しい「機能」があり、リフレッシュ時にこれらの値を再入力します?)。Firefoxの自動入力HTMLフォームを無効にしても自動完成を維持する

問題は、かなり複雑なWebアプリケーションを使用していて、ユーザーが入力することのないajaxと隠れたフォームフィールドを使用していますが、javascriptによって問題が発生しています。 この新しい「機能」のために、これらのフィールドに無効な値が突然入力されているため、フォームをリフレッシュするときに多くのエラーが発生します。

私は自動補完を無効にすることなくこの「機能」をオフにする方法を探しています。私は私のhtmlで

autocomplete='off'

を置けば

(つまり、フィールド上の便利されているため、お客様が記入)、効果は無効になりますが、これは自動補完を(明らかに)失います。 問題は、ユーザーの操作なしで更新後にフィールドに入力されることにあります。

答えて

0

各ブラウザの設定に入ることなく、これを無効にすることはできません。

私は、クライアントとサーバー側のより堅牢な検証をお勧めします。

-1

オートコンプリートは新しいものではありません。すべてのブラウザがそれを持っています。これを参照してくださいhttp://www.w3.org/Submission/web-forms2/#the-autocomplete

オートフィル?本気ですか?あなたの入力値属性をFirebug(Firefoxアドオン)で確認してください。あなたの投稿やあなたのAjaxでの応答をチェックしてください。多分、あなたのアヤックスがそれをシーンの裏に埋めているでしょう。

BTW:外部ツールバーを無効にするにはremenber。 Firefox/IE/Chrome /などには、ユーザーの自動入力データ用のツールバーがあります。これで警告します。

+0

問題は自動完了しません。他のオプションが "SELECTED"とマークされているにもかかわらず、値を記憶しているフォーム(他の選択ボックスの中では、ページをリフレッシュする前と同じように選択済みです) – pvgoddijn

1

正確に1つの一致がある場合、パスワードマネージャはユーザー名とパスワードを入力しますが、オートコンプリート自体は自動的にフィールドに入力されません。しかし、私はあなたがページをリロードすると、あなたが得るリフレッシュについて考えていると思います。この場合、フィールドの値はセッション履歴によって復元されますが、ページをキャッシュ不可としてマークすることでその値をオフにすることができます。

1

これらのフィールドの値を何も設定しないでください。または、他のjavascript/ajaxタスクを開始する前に、javascriptを使用してデフォルト値を設定する必要があります。

0

ページがロードされていますが、他のロジックを実行する前に、あなたは空に値を強制する必要があります後:ここで

inputElem.value = ''; 
0

は、私は一緒に入れjQueryのソリューションです。

自動入力を無効にするのではなく、ブラウザが完了した後にフィールドを無効にします。

私がこれを作ったとき、私はChromesのオートフィルと戦おうとしていました。クロールのオートフィル機能がそれを蹴る前に起動してから、自分自身で.val( '')を使用するだけで機能しませんでした。

var noFiller = $('input[type="text"]'); 

noFiller.val(' '); 
var t=setTimeout(function(){ 
    noFiller.val(''); 
},60);//keep increasing this number until it works 
0

Javascriptソリューション(Ajaxを使用してページをロードまたは更新するときにフィールド値を設定する)は既に説明しました。

フィールドのIDに乱数を付けて、ブラウザでキャッシュされた値と一致させることはできませんが、これは他のものに悪影響を与える可能性があります。

関連する問題