Come posso ripristinare il valore di un input di testo quando la pagina viene ricaricata?

Firefox (e probabilmente altri browser) vogliono mantenere qualsiasi testo inserito dall’utente nel testo, anche dopo una ricarica. Il semplice inserimento del testo predefinito (che voglio che l’input ripristini) in html non funzioni:

 

E nemmeno cerca di usare JS

 window.onload = function() {document.getElementById("mytextinput").value = 'default text'} 

Puoi usare plain old HTML 🙂

Imposta autocomplete='off' nell’attributo

  

Funziona sulla maggior parte dei browser moderni.

Tecnicamente, non è necessario eseguire una funzione onload per cancellarla: potresti semplicemente inserire il javascript direttamente nella pagina. Per esempio:

 document.getElementById("mytextinput").value = '' 

o con jQuery

 $("mytextinput").val(''); 

Nota che è sempre una buona idea lavorare con un listener dom per assicurarti che il tuo javascript si attivi dopo che il dom è stato costruito correttamente. Quindi, nell’esempio di jQuery, questo sarebbe facile come

 $(document).ready(function() { $("mytextinput").val(''); }); 

Prova questo:

   

Questo codice dovrebbe essere eseguito non appena la casella di testo è stata caricata. L’evento onload può sembrare incoerente, non sono del tutto sicuro di come si comporta in più browser su diverse azioni come l’aggiornamento.

Puoi chiamare lo script in modo diverso, metterlo in una funzione, metterlo da qualche altra parte ecc., Ma è bene iniziare con una versione funzionante.

Se questo non funziona su altri browser, non c’è molto che tu possa fare perché alcuni browser cercheranno di essere ‘utili’ e riempiranno automaticamente per te.

Penso che dovresti fare una codifica sul lato server per ricaricare la pagina. Il caricamento della pagina è generalmente un’idea di tipo postback. La pagina viene ricaricata dal server. Se stai facendo asp.net, nel metodo page_load aggiungi il tuo testo predefinito. 🙂