2009-07-23 12 views
2

Googleツールバーの自動入力機能は、過去数年間私のウェブ開発の存在を傷つけています。私は、開発者が劇的にコントロールの変更イベントを発生させることができなかったので、変更をチェックするタイマーコントロールを作成しようとしていました。これは、コントロールがネストされたリピーターの内部に埋め込まれているときにさらに複雑になり、UpdatePanelに連結しようとするとさらに複雑になります。Googleツールバーの自動入力を無効にする

フィールドの名前を変更することなく、フォームフィールドにGoogleツールバーが表示されないようにすることができましたか? (注:これは「州」のドロップダウンでは機能しません。フィールド値をチェックすることさえできます)。

Googleの従業員と同じくらいスマートなので、これは大変馬鹿げた監督でした。

更新:ここで解決策を探している人のために。私が今までに働いたのは、ASP.netを持っていて、サーバーコントロール "Timer"を使用し、このコントロールをUpdatePanelのトリガーとして設定することです。ループして変更された値をチェックするのに役立ちます。

JavaScriptだけにアクセスできる場合、または別のフレームワークを使用している場合は、次の機能を使用してベストを尽くしています(状態とジップの変更を監視しようとしていました。 、それは)のselectedIndexが変更されます。あなたは無効にAutoCompleteTypeを設定するときだけで好奇心のうち

function MonitorChanges(sStateDropdownID, sZipCodeID, sHiddenStateFieldId, sHiddenZipFieldId, bDoPostback) { 
     var state = $('#' + sStateDropdownID).val(); 
     var zip = $('#' + sZipCodeID).val(); 
     var hiddenstate = $('#' + sHiddenStateFieldId).val(); 
     var hiddenzip = $('#' + sHiddenZipFieldId).val(); 
     $('#' + sHiddenStateFieldId).val(state); 
     $('#' + sHiddenZipFieldId).val(zip); 

     var compareString = state + zip; 
     var compareHiddenString = hiddenstate + hiddenzip; 

     var focusElement = getElementWithFocus(); 
     if (compareString != compareHiddenString && isShippingZip(zip)) { 
      bDoPostback = true 
     } 

     if (parseInt(focusElement.id.search('drpState')) == -1 && parseInt(focusElement.id.search('txtZip')) == -1 && bDoPostback) { bDoPostback = false; __doPostBack(sStateDropdownID, ''); } 

     var f = function() { MonitorChanges(sStateDropdownID, sZipCodeID, sHiddenStateFieldId, sHiddenZipFieldId, bDoPostback); } 
     setTimeout(f, 1000); 
    } 
+1

オートフィルを無効にする理由を教えてください。 –

+0

すべての関連するフォームフィールドでjavascriptイベントのキャプチャを簡単にするため、無効にしたいと考えています。 –

+0

私はここで素朴ではないと思う。代わりにフォームをリセットしても問題ありませんか? – shahkalpesh

答えて

5

Googleの開発者がrecent postによると、autocomplete="off"属性を使用すると、IEとFirefoxの両方でGoogleツールバーの自動補完機能が無効になります。この属性は<form>タグではなく、個々の<input>タグに適用されなければならないことに注意してください:

<form method="post" action="http://example.com" autocomplete="off"> 
<!-- ... --> 
</form> 

これがインスタント修正はありませんが、それはおそらく可能な限り最も信頼性の高いソリューションである - まで待つことが可能である場合Googleツールバーの次の繰り返し。

+1

私はあなたの答えを受け入れますが、これは今後のリリースであり、ツールバーの現在のリリースではないことに言及しています。それはまだ私にS.O.Lを残す。誰もアップグレードしていない、最終的にはちょうど吸うIE6の効果を引き出します。ダムは、Google、ダム移動を移動... –

+0

私はあなたの感情に完全に同意します。すべての人のGoogleは、これが貧しい人々の意思決定であるかどうかを理解する必要があります。 –

0

、オートフィルはまだ火のでしょうか?

<asp:TextBox ID="textBox1" runat="server" AutoCompleteType="Disabled" /> 
+0

AutoComplete = "Off"に設定し、AutoCompleteType = "None"も設定すると、ツールバーが単にこれらのプロパティを無視するという開発者をさらに苛立たせます。 –

0

これが機能するかどうかは完全にはわかりませんが、可能な解決策として考えています。

キーワードのラベルをスパンタグで区切ります。

<label for="firstName">Fi<span>rs</span>t N<span>am</span>e:</label> 
<input id="firstName" name="firstName"> 

また、GoogleではFirefoxでautocomplete="false"をサポートする予定です。いいえ、きれいなIEのソリューションは、まだ、しかし。

+0

まだドロップダウンでは機能しません。実際にはドロップダウン値をチェックします。状態名の先頭にピリオド(。)を付けておくと、それを防ぐように見えましたが、これはトータルのハックであり、そうする必要はないはずです。 –

1

私はかつてfirefoxのautofillに問題がありました。私はそれを防ぐためにこれをしました。

<div style="display:none"> 
    <input type="text" name="user" /> 
    <input type="password" name="password" /> 
</div> 

<input type="text" name="user" /> 
<input type="password" name="password" /> 

Google自動入力でも機能するかどうかわかりません。

関連する問題