Domanda

Quando un utente preme Aggiorna sul proprio browser, ricarica la pagina ma mantiene il contenuto dei campi del modulo.Anche se ritengo che questa sia un'impostazione predefinita utile, può essere fastidiosa su alcune pagine dinamiche, portando a un'esperienza utente interrotta.

Esiste un modo, nelle intestazioni HTTP o equivalenti, per modificare questo comportamento?

È stato utile?

Soluzione

<input autocomplete="off">

Altri suggerimenti

Questo dovrebbe fare al caso tuo:

<body onload="document.FormName.reset();">

Sostituisci FormName con il nome del modulo e quindi tutti i campi verranno ripristinati quando l'utente fa clic su Aggiorna nel suo browser.

Oppure, se desideri reimpostare solo alcuni campi, aggiungi questo in fondo alla pagina:

<script type="text/javascript">
    document.getElementById('field1').value ='';
    document.getElementById('field2').value ='';
    document.getElementById('field3').value ='';
</script>

Ciò ripristinerà i campi ogni volta che un utente accede alla pagina, inclusi gli aggiornamenti

Aggiungi l'attributo di completamento automatico impostato su "off" agli input che non desideri vengano aggiornati.Ad esempio:

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

Vedereil riferimento del W3C

sebbene non menzionato nel riferimento, funziona anche con le caselle di controllo, almeno su Firefox.

Potresti chiamare il metodo reset() dell'oggetto form dall'evento body load del tuo documento html per cancellare i moduli.

h1.Riferimenti

Mi chiedo, se imposti la pagina in modo che non venga memorizzata nella cache tramite meta tag, questo risolverà il problema? http://lists.evolt.org/archive/Week-of-Mon-20030106/131984.html In tal caso, avrà il vantaggio di funzionare su browser con Javascript disabilitato.

I dati sui moduli non fanno parte delle specifiche W3C.È una funzionalità del browser che ti semplifica la vita.Quindi, se non vuoi conservare i dati dopo i ricaricamenti, puoi impostare tutti i valori del modulo su null dopo averlo caricato, come ha detto Espo.Anche se la pagina non è memorizzata nella cache, visualizzerà i dati nel modulo, poiché i dati non fanno parte del codice html della pagina.Puoi provare anche questo (non so se funzionerà):

<input type="text" name="foo" value="">
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top