2015-07-24 13 views
6

Pracujemy nad jedną aplikacją internetową, ponieważ znajduje się tam jedna strona płatności.autouzupełnianie = wyłączone nie działa w chrome

Mamy dwa pola tekstowe: numer karty kredytowej, a drugi kod weryfikacyjny i typ = "hasło".

Teraz problem polega na tym, że strona jest załadowana w google-chrome. Znaleziono typ = "Hasło" ładuje się. Zapisz identyfikator e-mail w polu Karty kredytowe i hasło w kodzie weryfikacyjnym.

Teraz spróbuj rozwiązać ten problem, wypróbowałem coś jak poniżej.

<form autocomplete="off"> 

<asp:textbox autocomplete="off"> 

Powyższa próba nie działa dla mnie. ja googlowałem, ale na szczęście dla mnie to nie działa.

+1

może być również po stronie klienta cache. Spróbuj ustawić odpowiednie nagłówki wygasania na stronie, aby Chrome nie ładował strony z pamięci podręcznej/pamięci. – HaukurHaf

Odpowiedz

12

Wygląda na to, że Chrome ignoruje teraz autouzupełnianie = "wyłączone", chyba że znajduje się w tagu <form autocomplete="off"> od wersji v34.

Nie możesz oszukać, stwórz ukryty wpis. Funkcja automatycznego uzupełniania otrzyma pierwszy tekst wejściowy do wypełnienia danych.

Metoda 1:

<form id="" method="post" action="" autocomplete="off"> 
    <input type="text" style="display:none" /> 
    <input type="password" style="display:none"> 
    <asp:textbox autocomplete="off"> 
</form> 

więc umieścić to przed tekstowym.

<input type="text" style="display:none" /> 

Metoda 2:

Zmień

autocomplete="off" 

do

autocomplete="false" 

Metoda 3: autofill Przeglądarka w trybie tylko do odczytu przez.

<input type="password" readonly onfocus="this.removeAttribute('readonly');"/> 

Metoda 4:

przypadku kombinacji Haslo. Heurystyka Chrome szuka wzoru.

<input type="text" onfocus="this.type='password'"> 

Metoda 5: jQuery

if ($.browser.webkit) { 
    $('input[name="password"]').attr('autocomplete', 'off'); 
    $('input[name="email"]').attr('autocomplete', 'off'); 
} 
+0

Metoda 5 nie działa dla jQuery 1.9+ –

+0

Metoda 3 wydaje się najbardziej niezawodna i ustandaryzowana dla różnych przeglądarek – Radderz

0

Działa to dobrze, a także zgodna z MDL (materiał Design Light):

// Fix chrome's ignore on autocomplete=off 
    $('input[autocomplete=off]').each(function(){ 
     var copy = $(this).clone(); 
     copy.val(''); 
     copy.removeAttr('autocomplete'); 
     copy.insertAfter($(this)); 
     $(this).hide().removeAttr('required id class'); 
    }); 
0
automcomplete="off" or automcomplete="false" 

lub zdefiniować autouzupełniania wewnątrz wejścia pole

$('input[name="password"]').attr('autocomplete', 'off');//Disable cache 
1

to działa, jeśli chcesz zachować biały jako kolor tła wejściowego

<input type="password" class="form-control" id="password" name="password" placeholder="Password" readonly onfocus="this.removeAttribute('readonly');" style="background-color: white;"> 
Powiązane problemy