Lo vedo in tutto il web, ma mi chiedevo se qualcuno avesse il codice JavaScript per il modo più semplice per mostrare il valore di input su sfocatura, ma nascondere a fuoco.Come mostrare/nascondere il valore di input sullo stato attivo?
risposta
Questo è quello che uso su my blog. Basta andare lì e controllare il codice sorgente dietro.
function displaySearchText(text){
var searchField = document.getElementById('searchField');
if(searchField != null)
searchField.value = text;
}
Il vostro campo di input dovrebbe essere simile a questo:
<input id='searchField' name='q' onblur='displaySearchText("Search...");' onfocus='displaySearchText("");' onkeydown='performSearch(e);' type='text' value='Search...'/>
L'approccio più semplice che io conosca è il seguente:
<input
name="tb"
type="text"
value="some text"
onblur="if (this.value=='') this.value = 'some text'"
onfocus="if (this.value=='some text') this.value = ''" />
Se non si cura di HTML valido, usi l'attributo placeholder
. Funzionerà fuori dalla scatola su un Safari, ed è possibile aggiungere alcuni JS non invadenti per simulare questo comportamento in altri browser.
Più lettura:
- http://www.beyondstandards.com/archives/input-placeholders/ (implementazione JS)
- http://lab.dotjay.co.uk/experiments/forms/input-placeholder-text/
e Google. ;-)
La soluzione è simile a quella pubblicata da Josh Stodola, ma è più flessibile e universale.
Immagino di non preoccuparsi di HTML valido non è mai buono, non è vero? Inoltre, l'ottimizzazione per un solo browser ... – Juri
Validator è solo uno strumento. Puoi ignorare l'output finché sai cosa stai facendo.E l'ottimizzazione per lo standard imminente non è poi così male dopotutto :) Il segnaposto –
sembra valido ora tranne per il buon vecchio IE. – kdubs
Questo sempre lavorato per me:
<input
type="text"
value="Name:"
name="visitors_name"
onblur="if(value=='') value = 'Name:'"
onfocus="if(value=='Name:') value = ''"
/>
preferisco jQuery modo:
$(function(){
/* Hide form input values on focus*/
$('input:text').each(function(){
var txtval = $(this).val();
$(this).focus(function(){
if($(this).val() == txtval){
$(this).val('')
}
});
$(this).blur(function(){
if($(this).val() == ""){
$(this).val(txtval);
}
});
});
});
Viene modificato Hide Form Input Values On Focus With jQuery da Zack Perdue.
Dal momento che questo si presenta ancora su google, mi piacerebbe sottolineare che con HTML 5 è possibile utilizzare l'attributo segnaposto con un input per ottenere questo in un pezzo di html.
<input type="text" id="myinput" placeholder="search..." />
Segnaposto è ora standard tra i browser moderni, quindi questo sarebbe davvero il metodo preferito.
Per tutti i browser:
<input onfocus="if(this.value == 'Your value') { this.value = '';}" onblur="if(this.value == '') { this.value = 'Your value';}" value="Your value" type="text" name="inputname" />
Per versione più recente del browser:
<input type="text" name="inputname" placeholder="Your value" />
- 1. Come modificare il colore del segnaposto sullo stato attivo?
- 2. Come spostare il segnaposto in primo piano sullo stato attivo E durante la digitazione?
- 3. Impostazione dello stato attivo su un testo di input JSF
- 4. Test se un input ha lo stato attivo
- 5. Come modificare la tonalità di un ImageButton sullo stato attivo/premere
- 6. Come selezionare il valore di input onClick?
- 7. Come mantenere il valore non valido per NumericUpDown dopo aver perso lo stato attivo?
- 8. Come impostare lo stato attivo sul primo campo di input in BootStrap?
- 9. Come faccio a far scorrere JScrollPane per seguire lo stato attivo di input?
- 10. C'è un modo per impedire a fastclick di attivare lo stato "attivo" sullo scorrimento?
- 11. Il segnaposto non scompare dopo lo stato attivo in Chrome
- 12. Utilizzando JQuery, come si rileva se il valore di un input di testo è cambiato mentre il campo ha ancora lo stato attivo?
- 13. JQuery: ottiene il valore di input originale
- 14. Come fare: lavoro stato attivo in IE?
- 15. Apre automaticamente la tastiera touch del tablet sullo stato di input di WinForms
- 16. Come rimuovere il valore predefinito di input su focus
- 17. Impostazione dello stato attivo di un elemento di input in vue.js
- 18. Impostazione dello stato attivo su una casella di input HTML al caricamento della pagina
- 19. in UIWebView mostra e si nasconde automaticamente sullo stato di input
- 20. Mostra il cursore all'interno di EditText quando lo stato attivo non è attivo EditText
- 21. Ottieni il valore di input usando angularjs
- 22. Impostare lo stato attivo su un input all'interno di una scheda BootstrapContenuto sulla modifica scheda
- 23. Come eliminare il valore di un "tipo di input = file"
- 24. Impostare lo stato attivo sull'ingresso successivo in jQuery?
- 25. Objective C: Ricevi notifiche sullo stato di inattività di un utente
- 26. Il controllo Windows Form di Databound non riconosce il cambiamento fino a perdere lo stato attivo
- 27. Come impedire a un elemento di perdere lo stato attivo?
- 28. Come rimuovere lo stato attivo dalla casella di testo?
- 29. Impostare lo stato attivo su input JSF specifico sul caricamento della pagina
- 30. metodo html() sbagliato quando il valore di input è stato modificato
Eh? Cosa intendi per spettacolo? Cosa stai cercando di fare esattamente? –
Quindi l'input avrà ad esempio "Cerca ..." all'interno di esso, e quando si fa clic sull'input, esso diventerebbe vuoto. Credo di avere già la risposta, ma grazie comunque Ian! =] –
Vedere http://stackoverflow.com/questions/1073428/what-the-best-way-to-display-a-default-text-in-textbixes-and-textareas/1073514#1073514 – Quentin