Salve ragazzi
sapete se è possibile fare in modo che tutte le iniziali delle parole inserite in un input text vengano automaticamente scritte in maiuscolo come nel titolo di questo msg??
Salve ragazzi
sapete se è possibile fare in modo che tutte le iniziali delle parole inserite in un input text vengano automaticamente scritte in maiuscolo come nel titolo di questo msg??
Potresti provare in questo modo:
E richiami la funzione maiuscole() all'evento onChange della text-box.codice:<script language="JavaScript"> <!-- function maiuscole() { var stringa=document.forms['nomeForm'].elements['nomeTextBox'].value; // inserisci il contenuto della text-box dentro una variabile e... document.forms['nomeForm'].elements['nomeTextBox'].value=""; // ...cancelli il contenuto della text-box myString=new String(stringa); // crei un oggetto di tipo stringa contenente il testo parole=myString.split(" "); // dividi il contenuto dell'oggetto stringa in un array di singole parole for (var i=0; i<parole.length; i++) { // per ogni parola... parole[i]=parole[i].charAt(0).toUpperCase()+parole[i].substr(1,parole[i].length); // ...metti in maiuscolo la prima lettera e... document.forms['nomeForm'].elements['nomeTextBox'].value=document.forms['nomeForm'].elements['nomeTextBox'].value+parole[i]+" "; // ...la reinserisci nella text-box } } // --> </script>
Sicuramente esistono centinaia di modi migliori per fare la stessa cosa, ed il codice può essere senz'altro ottimizzato, ma questo è il meglio che sono riuscito a pensare con le mie scarse capacità (sia di Javascript che di pensiero)
Grazie per la risposta e devo dire che tutto funziona.
Ma vorrei, se posso, stuzzicare le tue "scarse capacità (sia di Javascript che di pensiero)" che sicuramente sono migliori rispetto alle mie, chiedendoti un'altra cosa.
Ho notato che inserendo il testo tutto in MAIUSCOLO, il tuo script lascia tutto invariato, mentre mi piacerebbe che formattasse il testo con la prima MAIUSCOLA e le restanti lettere in minuscolo.
Potresti fare un ulteriore sforzo??
Grazie
Bhe questo è già più facile, basta aggiungere una riga di codice:
codice:<script language="JavaScript"> <!-- function maiuscole() { var stringa=document.forms['nomeForm'].elements['nomeTextBox'].value; // inserisci il contenuto della text-box dentro una variabile e... document.forms['nomeForm'].elements['nomeTextBox'].value=""; // ...cancelli il contenuto della text-box myString=new String(stringa); // crei un oggetto di tipo stringa contenente il testo parole=myString.split(" "); // dividi il contenuto dell'oggetto stringa in un array di singole parole for (var i=0; i<parole.length; i++) { // per ogni parola... parole[i]=parole[i].toLowerCase(); // ...proma metti tutto in minuscolo, poi... parole[i]=parole[i].charAt(0).toUpperCase()+parole[i].substr(1,parole[i].length); // ...metti in maiuscolo la prima lettera e... document.forms['nomeForm'].elements['nomeTextBox'].value=document.forms['nomeForm'].elements['nomeTextBox'].value+parole[i]+" "; // ...la reinserisci nella text-box } } // --> </script>
COMPLIMENTI SEI SULLA BUONA STRADA
GRAZIE E A BUON RENDERE