Hvordan du deaktiverer leseren autofullfør på webskjema felt / inngang tag?

stemmer
2k

Hvordan du deaktiverer gjør autocompletei de store nettlesere for en bestemt input(eller form field)?

Publisert på 05/08/2008 klokken 16:22
kilden bruker
På andre språk...                            


61 svar

stemmer
2k

Firefox 30 ignorerer autocomplete="off"for passord, velger å be brukeren i stedet om passordet skal lagres på klienten. Legg merke til følgende kommentar fra 05.05.2014:

  • Den passord manager alltid spør hvis den ønsker å lagre et passord. Passord lagres ikke uten tillatelse fra brukeren.
  • Vi er den tredje nettleseren for å gjennomføre denne endringen, etter IE og Chrome.

Ifølge Mozilla-utvikler dokumentasjon form elementattributtet autocompletehindrer skjemadata blir lagret i eldre nettlesere.

<input type="text" name="foo" autocomplete="off" />
Svarte 05/08/2008 kl. 16:24
kilden bruker

stemmer
250

I tillegg til autocomplete=off, kan du også ha dine skjemafelt navn bli randomisert av koden som genererer siden, kanskje ved å legge noen øktspesifikk streng på slutten av navnene.

Når skjemaet er sendt, kan du kle den delen av før de behandles på serversiden. Dette vil hindre at nettleseren fra å finne sammenhengen for feltet, og også kan bidra til å forhindre XSRF angrep fordi en angriper ikke ville være i stand til å gjette feltnavnene for innsending av skjemaer.

Svarte 20/10/2008 kl. 13:36
kilden bruker

stemmer
188

De fleste av de store nettleserne og passord ledere (riktig, IMHO) nå ignorere autocomplete=off.

Hvorfor? Mange banker og andre "høy sikkerhet" nettsteder lagt autocomplete=offtil sine påloggingssider "for sikkerhets skyld", men dette er faktisk reduserer sikkerheten siden det får folk til å endre passord på disse høy sikkerhet steder å være lett å huske (og dermed sprekke) siden autofullfør var ødelagt.

Lenge siden de fleste passord ledere begynte å ignorere autocomplete=off, og nå nettlesere begynner å gjøre det samme for brukernavn / passord-innganger bare.

Dessverre, bugs i Autofullfør implementeringer sette inn brukernavn og / eller passord info i upassende skjemafelt, forårsaker skjemaet valideringsfeil, eller enda verre, ved et uhell setter inn brukernavn i felt som ble BLANKT av brukeren.

Hva er en webutvikler til å gjøre?

  • Hvis du kan holde alle passordfelt på en side av seg selv, det er en god start som det synes at tilstedeværelsen av et passordfelt er den viktigste trigger for user / pass autofullfør å sparke i. Ellers lese tipsene under.
  • Safari legger merke til at det er 2 passordfelt og deaktiverer autofullfør i dette tilfellet, forutsatt at det må være en endring passord form, ikke en pålogging form. Så bare pass på å bruke 2 passordfelt (nytt og bekreft nytt) for alle skjemaer der du tillater
  • Chrome 34, dessverre, vil prøve å autofylle felt med bruker / pass når det ser et passordfelt. Dette er en ganske dårlig bug som forhåpentligvis vil de endre Safari atferd. Men å legge denne til toppen av skjemaet ser ut til å deaktivere passordautofyll:

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

Jeg har ennå ikke undersøkt IE eller Firefox grundig, men vil gjerne oppdatere svar hvis andre har info i kommentarfeltet.

Svarte 23/04/2014 kl. 04:00
kilden bruker

stemmer
123

Noen ganger selv autofullfør = off ville ikke hindre å fylle legitimasjon inn feil felt, men ikke bruker eller kallenavn feltet.

Denne løsningen er i tillegg til apinstein innlegg om nettadferd.

fix leseren automatisk utfylling i skrivebeskyttet og satt skrivbar på fokus (klikk og tab)

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

Oppdatering: Mobile Safari setter markøren i feltet, men viser ikke virtuelle tastaturet. New Fix fungerer som før, men håndterer virtuelle tastaturet:

<input id="email" readonly type="email" onfocus="if (this.hasAttribute('readonly')) {
    this.removeAttribute('readonly');
    // fix for mobile safari to show virtual keyboard
    this.blur();    this.focus();  }" />

Live Demo https://jsfiddle.net/danielsuess/n0scguv6/

// UpdateEnd

Fordi Browser automatisk fyller legitimasjon til feil tekstfeltet !?

Jeg merker denne merkelige oppførsel på Chrome og Safari, når det er passordfelt i samme skjema. Jeg antar, leseren ser for et passordfelt for å sette inn de lagrede legitimasjon. Så det auto fills (bare gjetter på grunn av observasjon) nærmeste textlike-input-feltet, som vises før passordfeltet i DOM. Som nettleseren er siste instans, og du kan ikke kontrollere det,

Dette skrivebeskyttet-fix ovenfor fungerte for meg.

Svarte 16/06/2014 kl. 16:04
kilden bruker

stemmer
93
<form name="form1" id="form1" method="post" 
      autocomplete="off" action="http://www.example.com/form.cgi">

Dette vil fungere i Internet Explorer og Mozilla Firefox, er ulempen at det ikke er XHTML-standarden.

Svarte 05/08/2008 kl. 16:27
kilden bruker

stemmer
57

Løsningen for Chrome er å legge autocomplete="new-password"til input type passord.

Eksempel:

<form name="myForm"" method="post">
<input name="user" type="text" />
<input name="pass" type="password" autocomplete="new-password" />
<input type="submit">
</form>

Chrome alltid autofull dataene hvis den finner en boks av typen passord , akkurat nok til å indikere for den boksen autocomplete = "new-password".

Dette fungerer bra for meg.

Merk: Kontroller med F12 som endringene trer i kraft, mange ganger lesere lagre siden i cache, dette ga meg et dårlig inntrykk at det ikke fungerte, men nettleseren ikke faktisk få endringene.

Svarte 24/11/2016 kl. 17:07
kilden bruker

stemmer
53

Som andre har sagt, er svaret autocomplete="off"

Men jeg tror det er verdt om hvorfor det er en god idé å bruke dette i visse tilfeller som noen svar på dette, og duplisere spørsmål har antydet at det er bedre ikke å slå den av.

Stoppe lesere lagre kredittkortnumre bør ikke overlates til brukerne. For mange brukere vil ikke engang skjønner det er et problem.

Det er spesielt viktig å slå den av på felt for kredittkortsikkerhetskoder. Som denne siden står det:

"Aldri lagre sikkerhetskoden ... sin verdi avhenger av antakelsen om at den eneste måten å levere det er å lese det fra den fysiske kredittkort, som beviser at personen levere det faktisk holder kortet."

Problemet er, hvis det er en offentlig datamaskin (cyber cafe, bibliotek etc) det er så lett for andre brukere å stjele kortdetaljene dine, og selv på din egen maskin et ondsinnet nettsted kan stjele autofullfør data .

Svarte 23/01/2009 kl. 21:21
kilden bruker

stemmer
29

Jeg måtte beg å variere med de svarene som sier for å unngå å deaktivere autofullfør.

Det første du må ta opp er at autofullfør ikke blir eksplisitt deaktivert på innlogging skjemafelt er et PCI-DSS mislykkes. I tillegg, hvis en brukerens lokale maskin er svekket så eventuelle autofullførings data kan trivielt oppnås ved en angriper på grunn av at det blir lagret i klartekst.

Det er absolutt et argument for brukervennlighet, men det er en veldig fin balanse når det gjelder hvilke skjemafelt bør ha autofullfør deaktivert og som ikke burde.

Svarte 17/09/2011 kl. 00:33
kilden bruker

stemmer
24

Tre alternativer: Først:

<input type='text' autocomplete='off' />

Sekund:

<form action='' autocomplete='off'>

Tredje (javascript-kode):

$('input').attr('autocomplete', 'off');
Svarte 19/03/2013 kl. 10:05
kilden bruker

stemmer
18

Jeg har prøvd utallige løsninger, og så fant jeg dette:

I stedet for å autocomplete="off"bare rett og slett brukeautocomplete="false"

Så enkelt er det, og det fungerer som en sjarm i Google Chrome også!

Svarte 01/05/2015 kl. 05:56
kilden bruker

stemmer
17

På et beslektet eller faktisk, på helt motsatt note -

"Hvis du er bruker av nevnte form og ønsker å re-aktivere autofullfør, kan du bruke 'husk passord' bookmarklet fra denne bookmarklets siden . Det fjerner alle autocomplete="off"attributter fra alle skjemaer på siden. Hold kjempe god kamp! "

Svarte 08/09/2008 kl. 19:29
kilden bruker

stemmer
17

Bare sett autocomplete="off". Det er en veldig god grunn for å gjøre dette: Du ønsker å gi din egen autofullfør funksjonalitet!

Svarte 05/08/2008 kl. 16:32
kilden bruker

stemmer
16

Ingen av løsningene fungerte for meg i denne samtalen.

Jeg endelig funnet ut en ren HTML-løsning som krever ingen Javascript , fungerer i moderne nettlesere (unntatt IE, det måtte minst en fangst, ikke sant?), Og krever ikke at du å deaktivere Autofullfør for hele skjemaet.

Bare slå av autofullfør på formog deretter slå den på for alle inputdu ønsker det til å fungere i form. For eksempel:

<form autocomplete="off">
    <!-- these inputs will not allow autocomplete and chrome 
         won't highlight them yellow! -->
    <input name="username"  />
    <input name="password" type="password" />
    <!-- this field will allow autocomplete to work even 
         though we've disabled it on the form -->
    <input name="another_field" autocomplete="on" />
</form>
Svarte 15/08/2013 kl. 19:02
kilden bruker

stemmer
16

Jeg tror autocomplete=offstøttes i HTML 5.

Spør deg selv hvorfor du ønsker å gjøre dette selv - det kan være fornuftig i noen situasjoner, men ikke gjør det bare for moro skyld gjør det.

Det er mindre praktisk for brukerne, og ikke engang en sikkerhetsproblem i OS X (nevnt av Soren nedenfor). Hvis du er bekymret for folk å ha sine passord stjålet eksternt - et tastetrykk logger kan fortsatt gjøre det selv om appen din bruker autcomplete=off.

Som en bruker som velger å ha en nettleser huske (de fleste av) informasjonen min, ville jeg synes det er irriterende hvis området ikke husker mine.

Svarte 23/02/2011 kl. 23:24
kilden bruker

stemmer
16

Vi fikk faktisk bruke sasb ide for et nettsted. Det var en medisinsk programvare web app til å kjøre et legekontor. Men mange av våre kunder var kirurger som brukte mange ulike arbeidsstasjoner, inkludert semi-offentlige terminaler. Så, de ønsket å sørge for at en lege som ikke forstår konsekvensen av auto-lagrede passord eller ikke betaler oppmerksomhet kan ikke tilfeldigvis la sin påloggingsinformasjonen lett tilgjengelig. Selvfølgelig, dette var før ideen om privat nettlesing som begynner å bli omtalt i IE8, FF3.1, etc. Likevel er mange leger tvunget til å bruke gamle skolen nettlesere på sykehus med IT som ikke vil endre seg.

Så, vi hadde påloggingssiden generere tilfeldige feltnavn som bare ville fungere for det innlegget. Ja, det er mindre praktisk, men det er bare å trykke på brukeren over hodet om ikke å lagre påloggingsinformasjonen på offentlige terminaler.

Svarte 16/09/2008 kl. 15:35
kilden bruker

stemmer
13

Var en ikke-standard måte å gjøre dette (jeg tror Mozilla og Internet Explorer fortsatt støtte det), men får med brukernes forventninger er en dårlig idé.

Hvis brukeren skriver inn sine kredittkortopplysninger i en form og så la oss andre få bruke at browseren det er ikke din bekymring. :)

Svarte 05/08/2008 kl. 16:26
kilden bruker

stemmer
11

Dette fungerer for meg.

<input name="pass" type="password" autocomplete="new-password" />

Vi kan også bruke denne strategien i andre kontroller som tekst, velg etc

Svarte 30/12/2016 kl. 15:05
kilden bruker

stemmer
10

legge til

autocomplete="off"

til skjemaet tag vil deaktivere leseren autofullfør (det som tidligere ble skrevet inn i dette feltet) fra alle inputfelt innen det aktuelle skjemaet.

Testet på:

  • Firefox 3.5, 4 BETA
  • Internet Explorer 8
  • Chrome
Svarte 11/02/2011 kl. 05:14
kilden bruker

stemmer
9

Litt sent til spillet ... men jeg bare kjørte inn i dette problemet og prøvd flere feil, men dette fungerer for meg funnet på MDN

I noen tilfeller vil nettleseren holde tyder autofullføringsord verdier selv om autofullfør-attributtet er slått av. Denne uventede situasjonen kan være ganske forvirrende for utviklere. Kunsten å virkelig tvinge ikke-ferdigstillelse er å tildele en tilfeldig streng til attributtet slik:

autocomplete="nope"
Svarte 22/03/2016 kl. 19:38
kilden bruker

stemmer
9

Legge autocomplete="off"er ikke skal klippe det.

Endre input type attributt til type="search".
Google gjelder ikke auto-fill til innganger med en type søk.

Svarte 28/10/2015 kl. 16:32
kilden bruker

stemmer
9

For å unngå ugyldig XHTML kan du angi dette attributtet ved hjelp av javascript. Eksempel anvendelse av jQuery:

<input type="text" class="noAutoComplete" ... />

$(function() {
    $('.noAutoComplete').attr('autocomplete', 'off');
});

Problemet er at brukere uten Javascript vil gjøre få autofullfør funksjonalitet.

Svarte 12/12/2010 kl. 18:34
kilden bruker

stemmer
8

Den beste løsningen:

Forhindre autofullfør brukernavn (eller e-post) og passord:

<input type="email" name="email"><!-- Can be type="text" -->
<input type="password" name="password" autocomplete="new-password">

Forhindre autofullfør felt:

<input type="text" name="field" autocomplete="nope">

Forklaring: autocompletefortsetter å arbeide i <input>, autocomplete="off"fungerer ikke, men du kan endre offtil en tilfeldig streng, som nope.

Fungerer i:

  • Krom: 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 og 64

  • Firefox: 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 og 58

Svarte 20/03/2018 kl. 04:31
kilden bruker

stemmer
8

Jeg kan ikke tro at dette er fortsatt et problem så lenge etter at det er blitt rapportert. Løsningene ovenfor ikke fungerte for meg, som safari syntes å vite når elementet ble ikke vises eller off-screen, men følgende fungerte for meg:

<div style="height:0px; overflow:hidden; ">
  Username <input type="text" name="fake_safari_username" >
  Password <input type="password" name="fake_safari_password">
</div>

Håper det er nyttig for noen!

Svarte 23/04/2016 kl. 11:02
kilden bruker

stemmer
8

Dette er et sikkerhetsproblem som nettlesere ignorere nå. Nettlesere identifisere og lagrer innhold ved hjelp av inngangsnavn, selv om utviklerne vurdere informasjonen er sensitive og bør ikke lagres. Å gjøre en inngang navn forskjellig mellom 2 forespørsler vil løse problemet (men vil fortsatt lagres i nettleserens cache og vil også øke nettleserens cache). Be brukeren om å aktivere eller deaktivere alternativene i sin nettleserens innstillinger er ikke en god løsning. Problemet kan festes i backend.

Her er min fikse. En tilnærming som jeg har implementert i mitt rammeverk. Alle Autofullfør elementene er generert med en skjult inngang som dette:

<? $r = rmd5(rand().mocrotime(TRUE)); ?>
<form method="POST" action="./">
    <input type="text" name="<? echo $r; ?>" />
    <input type="hidden" name="__autocomplete_fix_<? echo $r; ?>" value="username" />
    <input type="submit" name="submit" value="submit" />
</form>

Server deretter prosessen legg variabler som dette:

foreach ($_POST as $key => $val)
{
    if(preg_match('#^__autocomplete_fix_#', $key) === 1){
        $n = substr($key, 19);
        if(isset($_POST[$n]))$_POST[$val] = $_POST[$n];
    }
}

Verdien kan åpnes som vanlig

var_dump($_POST['username']);

Og nettleseren vil ikke være i stand til å foreslå informasjon fra den forrige eller fra tidligere brukere.

Alle fungerer som en sjarm, selv om nettlesere oppdateringer, ønsker å ignorere autofullfør eller ikke. Det har vært den beste måten å løse problemet for meg.

Svarte 02/06/2015 kl. 20:37
kilden bruker

stemmer
8

prøv disse også hvis bare autocomplete="off"ikke virker:

autocorrect="off" autocapitalize="off" autocomplete="off"
Svarte 04/12/2012 kl. 18:24
kilden bruker

stemmer
8

Bruk et ikke-standard navn og id for feltene, så i stedet for "navn" har "name_". Nettlesere vil da ikke se det som navnefeltet. Den beste delen om det er at du kan gjøre dette til noen, men ikke alle felt, og det vil automatisk fullføre noen, men ikke alle felt.

Svarte 05/08/2008 kl. 16:27
kilden bruker

stemmer
7

Ingen av hacks nevnt her jobbet for meg i Chrome. Det er en diskusjon om saken her: https://code.google.com/p/chromium/issues/detail?id=468153#c41

Legge denne inne i en <form>arbeider (i hvert fall for nå):

<div style="display: none;">
    <input type="text" id="PreventChromeAutocomplete" name="PreventChromeAutocomplete" autocomplete="address-level4" />
</div>
Svarte 02/07/2015 kl. 10:40
kilden bruker

stemmer
6

Prøv å legge til

skrivebeskyttet onFocus = "this.removeAttribute ( 'skrivebeskyttet');"

i tillegg til

autofullfør = "off"

til inngangen (e) som du ikke ønsker å huske skjemadata ( username, passwordosv) som vist nedenfor:

<input type="text" name="UserName" autocomplete="off" readonly 
    onfocus="this.removeAttribute('readonly');" >

<input type="password" name="Password" autocomplete="off" readonly 
    onfocus="this.removeAttribute('readonly');" >

Testet på de nyeste versjonene av de store nettleserne dvs. Google Chrome, Mozilla Firefox, Microsoft Edge, etc. og arbeider uten problem. Håper dette hjelper...

Svarte 01/11/2017 kl. 13:26
kilden bruker

stemmer
5

Så her er det:

function turnOnPasswordStyle() {
  $('#inputpassword').attr('type', "password");
}
<input oninput="turnOnPasswordStyle()" id="inputpassword" type="text">

Svarte 29/05/2016 kl. 19:57
kilden bruker

stemmer
5

Du kan bruke i input.

For eksempel;

<input type=text name="test" autocomplete="off" />
Svarte 02/11/2012 kl. 17:00
kilden bruker

stemmer
4

Ingen falske innganger, ingen javascript!

Det er ingen måte å deaktivere autofyll konsekvent på tvers av nettlesere. Jeg har prøvd alle de ulike forslag og ingen av dem fungerer i alle nettlesere. Den eneste måten er å ikke bruke passord innspill i det hele tatt. Her er hva jeg kom opp med:

<style type="text/css">
    @font-face {
        font-family: 'PasswordDots';
        src: url('text-security-disc.woff') format('woff');
        font-weight: normal;
        font-style: normal;
    }

    input.password {
        font-family: 'PasswordDots' !important;
        font-size: 8px !important;
    }
</style>

<input class="password" type="text" spellcheck="false" />

Last ned: tekst-security-disc.woff

Her er hvordan min endelige resultatet ser slik ut:

passord Mask

Den negative bivirkning er at det er mulig å kopiere ren tekst fra inngangen, men det bør være mulig å forhindre at med noen JS.

Svarte 13/04/2018 kl. 06:35
kilden bruker

stemmer
4

Mange moderne nettlesere støtter ikke autofullfør = "off" for innloggingsfelt lenger. autocomplete="new-password"er wokring stedet, mer informasjon MDN docs

Svarte 21/12/2017 kl. 04:33
kilden bruker

stemmer
4

Du kan bare sette den autocomplete="off"i HTML-felt som følgende kode.

<input type="text" name="" value="" autocomplete="off" />
Svarte 12/05/2016 kl. 10:53
kilden bruker

stemmer
4

Du kan deaktivere autofullfør hvis du fjerner formtag, det samme ble gjort av min bank, og jeg lurte på hvordan de gjorde dette. Det enda ta verdien som allerede ble husket av nettleseren etter at du fjerne merket.

Svarte 25/02/2016 kl. 15:27
kilden bruker

stemmer
4

Chrome er planer om å støtte dette .

For nå er den beste forslag er å bruke en input type som sjelden autofullføres.

krom diskusjon

<input type='search' name="whatever" />

for å være kompatibel med firefox, bruker normal autofullfør = 'av'

<input type='search' name="whatever" autocomplete='off' />
Svarte 10/12/2015 kl. 02:21
kilden bruker

stemmer
3

For å løse dette problemet, har jeg brukt noen CSS triks og følgende fungerer for meg.

input {
    text-security:disc;
    -webkit-text-security:disc;
    -mox-text-security:disc;
}

Vennligst les denne artikkelen for ytterligere detaljer.

Svarte 11/05/2018 kl. 13:19
kilden bruker

stemmer
3

Jeg bruker denne TextMode="password" autocomplete="new-password"og i siden lastes på aspxtxtPassword.Attributes.Add("value", '');

Svarte 14/03/2017 kl. 09:35
kilden bruker

stemmer
3

Problemet mitt var stort sett autofyll med Chrome, men jeg tror dette er trolig mer problematisk enn autofullfør.

Trick: ved hjelp av en timer for å nullstille skjemaet og sette passordfelt til blank. Den 100ms varighet synes å være minimal for at det skal fungere.

$(document).ready(function() {
    setTimeout(function() {
        var $form = $('#formId');
        $form[0].reset();
        $form.find('INPUT[type=password]').val('');
    }, 100);
});
Svarte 12/07/2016 kl. 15:29
kilden bruker

stemmer
3

Svaret dsuess postet med skrivebeskyttet var veldig flink og jobbet. Men som jeg bruker boostrap, er skrivebeskyttet inntastingsfeltet ble - før fokusert - markert med grå bakgrunn. Mens dokument belastninger, kan du lure leseren ved ganske enkelt å låse og låse inngangs.

Så jeg hadde en idé å implementere dette i jQuery løsning:

    jQuery(document).ready(function () {
        $("input").attr('readonly', true);
        $("input").removeAttr('readonly');
   });
Svarte 16/06/2016 kl. 10:43
kilden bruker

stemmer
3

Hvis problemet er å ha et passordfelt blir automatisk fullført, så du kan finne dette nyttig ...

Vi hadde dette problemet på flere områder av nettstedet vårt hvor virksomheten ønsket å re-spørre brukeren om brukernavn og passord, og spesielt ikke ønsker passordet autofyll for å jobbe for kontrakts grunner. Vi fant ut at den enkleste måten å gjøre dette på er å sette i en falsk passordfelt for leseren å finne og fylle mens den virkelige passordfeltet forblir urørt.

<!-- This is a fake password input to defeat the browser's autofill behavior -->
<input type="password" id="txtPassword" style="display:none;" />
<!-- This is the real password input -->
<input type="password" id="txtThisIsTheRealPassword" />

Merk at i Firefox og IE, det var rett og slett nok til å sette noen innspill av typen passord før selve én, men Chrome så gjennom det og tvang meg til å faktisk nevne den falske inntasting av passord (ved å gi det en åpenbar passord id) for å få det til "bite". Jeg brukte en klasse for å gjennomføre stilen i stedet for å bruke en innebygd stil så prøv at hvis ovennevnte ikke fungerer for noen grunn.

Svarte 27/04/2016 kl. 20:44
kilden bruker

stemmer
3

Dette er hva vi kalte Autofullfør av en tekstboks. skriv bildebeskrivelse her Vi kan deaktivere autofullføring av en tekstboks i to måter-

  1. Leseren etikett
  2. ved å kode

    For å deaktivere i nettleseren gå til innstillings

    Å dissable i bla gå til innstillings

Gå til fremme innstilling og fjerne krysset og deretter Gjenopprett.

Gå til fremme innstilling og fjerne krysset og deretter Gjenopprett.

Hvis du ønsker å deaktivere i koding etiketten kan du gjøre som oppfølging
Bruke AutoCompleteType="Disabled":

<asp:TextBox runat="server" ID="txt_userid" AutoCompleteType="Disabled"></asp:TextBox>  

Ved å sette Form autocomplete="off":

<asp:TextBox runat="server" ID="txt_userid" autocomplete="off"></asp:TextBox> 

Ved å sette Form autocomplete="off":

<form id="form1" runat="server" autocomplete="off">  
    //your content
</form>  

Ved å bruke koden i .CS siden

protected void Page_Load(object sender, EventArgs e)  
    {  
    if(!Page.IsPostBack)  
    {  


        txt_userid.Attributes.Add("autocomplete", "off");  

    }  
}  

Ved å bruke Jquery

head runat="server">  
<title></title>  
<script src="Scripts/jquery-1.6.4.min.js"></script>  
<script type="text/javascript">  
    $(document).ready(function () {  
        $('#txt_userid').attr('autocomplete', 'off');  

    });  

</script>  
Svarte 19/03/2016 kl. 05:05
kilden bruker

stemmer
3
<script language="javascript" type="text/javascript">
    $(document).ready(function () {
        try {
            $("input[type='text']").each(function(){
                           $(this).attr("autocomplete","off");
                        });
        }
        catch (e)
        { }
    });

</script>
Svarte 16/11/2015 kl. 13:02
kilden bruker

stemmer
2

Jeg har løst den endeløse kampen med Google Chrome med bruk av tilfeldige tegn.

<input name="name" type="text" autocomplete="rutjfkde">

Håper at det vil bidra til andre mennesker.

Svarte 04/08/2018 kl. 14:22
kilden bruker

stemmer
2

Google Chrome ignorerer autocomplete="off"attributt for visse innganger, inkludert passord innganger og felles innganger oppdaget ved navn.

For eksempel, hvis du har en inngang med navn address, så Chrome vil gi autofyll forslag fra adresser skrevet inn på andre områder, selv om du forteller det ikke til :

<input type="string" name="address" autocomplete="off">

Hvis du ikke vil at Chrome skal gjøre det, så kan du endre navn eller navnerommet skjemafeltet navn:

<input type="string" name="mysite_addr" autocomplete="off">

Hvis du ikke bryr deg om autofullføring av verdier som tidligere ble ført på nettstedet ditt, så kan du la autofullfør aktivert. Navnefeltnavnet bør være nok til å hindre verdier husket fra andre nettsteder fra å vises.

<input type="string" name="mysite_addr" autocomplete="on">
Svarte 22/06/2018 kl. 06:10
kilden bruker

stemmer
2

I var i stand til å stoppe Chrome 66 fra autoutfylling ved å legge to falske innganger og gi dem posisjon absolutt:

<form style="position: relative">
  <div style="position: absolute; top: -999px; left: -999px;">
    <input name="username" type="text" />
    <input name="password" type="password" />
  </div>
  <input name="username" type="text" />
  <input name="password" type="password" />

I begynnelsen prøvde jeg å legge display:none;til inngangene men Chrome ignorerte dem og fylles ut automatisk synlige seg.

Svarte 08/05/2018 kl. 22:07
kilden bruker

stemmer
2

Prøv dette :

<input type='text' autocomplete='off' />
Svarte 27/05/2017 kl. 08:13
kilden bruker

stemmer
2

Det synes ikke å være mulig å oppnå dette uten å bruke en side kode kombinasjon klient side og server.

For å være sikker på at brukeren må fylle ut skjemaet hver gang uten autofullfør jeg bruke følgende teknikker:

  1. Generere skjemafeltnavn på tjeneren og bruke skjulte inntastingsfelt for å lagre disse navnene, slik at når sendt til serveren serversiden koden kan bruke den genererte navnene for å få tilgang til feltverdier. Dette er for å stoppe brukeren fra å ha muligheten til å automatisk fylle ut feltene.

  2. Plasser tre tilfeller av hvert skjemafelt på skjemaet, og skjule de første og siste felt av hvert sett ved hjelp av css og deretter deaktivere dem etter side belastning bruke javascript. Dette er for å hindre at nettleseren fra å fylle ut feltene automatisk.

Her er en fele som viser javascript, css og html som beskrevet i # 2 https://jsfiddle.net/xnbxbpv4/

javascript:

$(document).ready(function() {
    $(".disable-input").attr("disabled", "disabled");
});

css:

.disable-input {
  display: none;
}

html:

<form>
<input type="email" name="username" placeholder="username" class="disable-input">
<input type="email" name="username" placeholder="username">
<input type="email" name="username" placeholder="username" class="disable-input">
<br>
<input type="password" name="password" placeholder="password" class="disable-input">
<input type="password" name="password" placeholder="password">
<input type="password" name="password" placeholder="password" class="disable-input">
<br>
<input type="submit" value="submit">
</form>

Her er en grov eksempel på hva serveren koden ved hjelp asp.net med barberhøvel ville være å legge til rette # 1

modell:

public class FormModel
{
    public string Username { get; set; }
    public string Password { get; set; }
}

kontrolleren:

public class FormController : Controller
{
    public ActionResult Form()
    {
        var m = new FormModel();

        m.Username = "F" + Guid.NewGuid().ToString();
        m.Password = "F" + Guid.NewGuid().ToString();

        return View(m);
    }

    public ActionResult Form(FormModel m)
    {
        var u = Request.Form[m.Username];
        var p = Request.Form[m.Password];

        // todo: do something with the form values

        ...

        return View(m);
    }
}

utsikt:

@model FormModel

@using (Html.BeginForm("Form", "Form"))
{
    @Html.HiddenFor(m => m.UserName)
    @Html.HiddenFor(m => m.Password)

    <input type="email" name="@Model.Username" placeholder="username" class="disable-input">
    <input type="email" name="@Model.Username" placeholder="username">
    <input type="email" name="@Model.Username" placeholder="username" class="disable-input">
    <br>
    <input type="password" name="@Model.Password" placeholder="password" class="disable-input">
    <input type="password" name="@Model.Password" placeholder="password">
    <input type="password" name="@Model.Password" placeholder="password" class="disable-input">
    <br>
    <input type="submit" value="submit">
}
Svarte 28/02/2017 kl. 10:25
kilden bruker

stemmer
2

Safari endrer ikke sin mening om autofullfør hvis du setter autocomplete="off"dynamisk fra javascript. Men det ville respektere hvis du gjør det på per-feltet basis.

$(':input', $formElement).attr('autocomplete', 'off');
Svarte 01/11/2015 kl. 10:28
kilden bruker

stemmer
2

Jeg vet dette er et gammelt innlegg, men det kan være viktig å vite at Firefox (jeg tror bare firefox) bruker en verdi som kalles ismxfilledsom i utgangspunktet tvinger Autofullfør.

ismxfilled="0" til OFF

eller

ismxfilled="1" til ON

Svarte 13/08/2015 kl. 18:22
kilden bruker

stemmer
1

Du kan bruke autofullfør = off i innspill kontroller for å unngå automatisk fullføring

For eksempel:

<input type=text name="test" autocomplete="off" />

Hvis koden ovenfor ikke fungerer så prøv å legge disse attributtene også

autocapitalize="off" autocomplete="off"

eller

Endre input type attributt til type="search". Google gjelder ikke auto-fill til innganger med en type søk.

Svarte 03/03/2018 kl. 00:35
kilden bruker

stemmer
1

autofullfør = 'av' fungerte ikke for meg, allikevel jeg sette verdien egenskap av inntastingsfeltet til en plass dvs <input type='text' name='username' value=" ">at sette standard tegn til en plass, og siden brukernavnet var blank passordet ble ryddet også.

Svarte 12/03/2017 kl. 19:17
kilden bruker

stemmer
1

Jeg ønsker å presisere at dette svaret er for fullstendighet skyld og for samfunnet kunnskap, på ingen måte er det anbefalt.

Med hensyn til Internet Explorer 11, det er en sikkerhetsfunksjon på plass som kan brukes til å blokkere Autofullfør. Det fungerer slik:

Enhver form inngangsverdien som er modifisert i Javascript etter at brukeren har allerede lagt inn det er flagget som kvalifisert for Autofullfør.

Denne funksjonen brukes vanligvis for å beskytte brukere mot ondsinnede nettsteder som ønsker å endre passordet etter at du har det eller lignende.

Men du kan sette inn et enkelt spesialtegn i begynnelsen av et passord streng å blokkere Autofullfør. Denne spesialtegn kunne detekteres og fjernes senere ned rørledningen.

Svarte 17/11/2016 kl. 17:41
kilden bruker

stemmer
1

En midlertidig løsning er ikke å sette passordfeltet i DOM før brukeren ønsker å endre passordet. Dette kan være aktuelt i enkelte tilfeller:

I vårt system har vi et passordfelt som i en admin side, så vi må unngå utilsiktet sette andre brukeres passord. Skjemaet har en ekstra knapp som vil veksle passordfeltet synlighet på grunn av dette.

Så i dette tilfellet, blir autofyll fra et passord manager en dobbel problem, fordi inngangen vil ikke engang være synlig for brukeren.

Løsningen ble å ha boksen trigger om passordfeltet er satt inn i DOM, ikke bare sin synlighet.

Pseudo implementering for AngularJS:

<input type="checkbox" ng-model="createPassword">
<input ng-if="changePassword" type="password">
Svarte 24/10/2016 kl. 09:16
kilden bruker

stemmer
1

Jeg bruker følgende jQuery tekstutdrag:

// Prevent input autocomplete
$.fn.preventAutocomplete = function() {
    this.each(function () {
        var $el = $(this);
        $el
            .clone(false, false)
            .insertBefore($el)
            .prop('id', '')
            .hide()
        ;
    });
};

Og enn bare $('#login-form input').preventAutocomplete();

Svarte 02/09/2016 kl. 10:14
kilden bruker

stemmer
0

For å hindre at nettleseren automatisk fylle med brukerens lagrede nettstedet påloggingsinformasjon, plassere en tekst og passord inntastingsfeltet på toppen av skjemaet med ikke tomme verdier og stil "position: absolute; top: -999px, left: -999px" satt til å skjule jordene.

<form>
  <input type="text" name="username_X" value="-" tabindex="-1" aria-hidden="true" style="position: absolute; top: -999px; left:-999px" />
  <input type="password" name="password_X" value="-" tabindex="-1" aria-hidden="true" style="position: absolute; top: -999px; left:-999px" />
  <!-- Place the form elements below here. -->
</form>

Det er viktig at et tekstfelt foran passordfeltet. Ellers autofyll kan ikke bli hindret i noen tilfeller.

Det er viktig at verdien av både tekst og passord feltene ikke være tom, for å hindre standardverdier blir overskrevet i noen tilfeller.

Det er viktig at disse to feltene er før den "virkelige" passord typefeltet (r) i form.

For nyere nettlesere som er html 5.3 kompatibel autofullfør-attributtverdi "ny-passord" skal fungere.

<form>
  <input type="text" name="username" value="" />
  <input type="password" name="password" value="" autocomplete="new-password" />
</form>

En kombinasjon av de to metodene kan brukes til å støtte både eldre og nyere nettlesere.

<form>
  <div style="display:none">
    <input type="text" readonly tabindex="-1" />
    <input type="password" readonly tabindex="-1" />
  </div>
  <!-- Place the form elements below here. -->
  <input type="text" name="username" value="" />
  <input type="password" name="password" value="" autocomplete="new-password" />
</form>
Svarte 07/07/2018 kl. 18:20
kilden bruker

stemmer
0

endelig fikk jeg en løsning først legge 2 skjulte tekstfelt

og bare legge en vinkel direktiv som dette

 (function () {

    'use strict';

    appname.directive('changePasswordType', directive);

    directive.$inject = ['$timeout', '$rootScope',  '$cookies'];

    function directive($timeout,  $rootScope, $cookies) {
        var directive = {
            link: link,
            restrict: 'A'
        };

        return directive;

        function link(scope,element) {
            var process = function () {
                var elem =element[0];
                elem.value.length > 0 ? element[0].setAttribute("type", "password") :
                element[0].setAttribute("type", "text");
            }

            element.bind('input', function () {
                process();
            });

            element.bind('keyup', function () {
                process();
            });
        }
    }
})()

deretter bruke den i tekstfeltet der du trenger for å hindre bilen fullstendig

    <input type="text" style="display:none">\\can avoid this 2 lines
    <input type="password" style="display:none">
    <input type="text"  autocomplete="new-password" change-password-type>

NB: Ikke glem å inkludere jQuery, og satt type ="text"i utgangspunktet

Svarte 26/03/2018 kl. 12:07
kilden bruker

stemmer
0

Du kan også bruke en istedenfor en inngang for å hoppe over den for automatisk fullføring av delen.

Svarte 19/03/2018 kl. 12:18
kilden bruker

stemmer
0

Du kan bruke autofullfør = off i innspill kontroller for å unngå automatisk fullføring

For eksempel:

<input type=text name="test" autocomplete="off" />

Hvis koden ovenfor ikke fungerer prøv deretter å legge de attributter autocapitalize = "off" autofullfør = "off"

Svarte 03/03/2018 kl. 00:47
kilden bruker

stemmer
0

Fikset. Du trenger bare å legge over reell input-feltet

https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion - MDN https://medium.com/paul-jaworski/turning-off-autocomplete-in-chrome-ee3ff8ef0908 - medium testet på EDGE, Chrome (nyeste v63), Firefox Quantum (57.0.4 64-бит), Firefox (52.2.0) falske felt er en midlertidig løsning for krom / opera autofyll får feil felt

 const fakeInputStyle = {opacity: 0, float: 'left', border: 'none', height: '0', width: '0'}

 <input type="password" name='fake-password' autoComplete='new-password' tabIndex='-1' style={fakeInputSyle} />

<TextField
  name='userName'
  autoComplete='nope'
  ... 
/>

<TextField
      name='password'
      autoComplete='new-password'
      ... 
    />
Svarte 19/01/2018 kl. 12:57
kilden bruker

stemmer
0

Ingen av de angitte svar jobbet på alle nettlesere jeg testet. Bygge på allerede gitt svar, dette er hva jeg endte opp med, (testet) på Chrome 61 , Microsoft Edge 40 (EdgeHTML 15), IE 11 , Firefox 57 , Opera 49 og Safari 5.1 . Det er sprø som et resultat av mange prøvelser; men det fungerer for meg.

<form autocomplete="off">
    ...
    <input type="password" readonly autocomplete="off" id="Password" name="Password" onblur="this.setAttribute('readonly');" onfocus="this.removeAttribute('readonly');" onfocusin="this.removeAttribute('readonly');" onfocusout="this.setAttribute('readonly');" />
    ...
</form> 

<script type="text/javascript">
    $(function () {           
        $('input#Password').val('');
        $('input#Password').on('focus', function () {
        if (!$(this).val() || $(this).val().length < 2) {
            $(this).attr('type', 'text');
        }
        else {
            $(this).attr('type', 'password');
        }
    });
    $('input#Password').on('keyup', function () {
        if (!$(this).val() || $(this).val().length < 2) {
            $(this).attr('type', 'text');
        }
        else {
            $(this).attr('type', 'password');
        }
    });
    $('input#Password').on('keydown', function () {
        if (!$(this).val() || $(this).val().length < 2) {
            $(this).attr('type', 'text');
        }
        else {
            $(this).attr('type', 'password');
        }
    });
</script>
Svarte 22/11/2017 kl. 08:28
kilden bruker

stemmer
-14

Hvorfor vil du gjøre brukerens liv mindre praktisk?

"Passord / kredittkortdata / etc. bør ikke lagres" er et dårlig argument: med autofullfør på, nettlesere i Mac OS X lagre slike verdier i en kryptert database med pr-program tillatelser. Omvendt, hva er realistisk effekt av autocomplete=off? Brukeren kommer til å skrive det i en ukryptert tekst-fil, eller enda bedre, på en post-it lapp festet til skjermen.

Bra det finnes snarveier som en Antti nevnt, og patcher å gjøre motoren ignorere attributtet helt .

Seriøst, jeg oppfordrer deg til å revurdere å bruke dette attributtet. Det trenger ikke dra noen.

Svarte 08/09/2008 kl. 19:42
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more