- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- Document.getElementsByTagName + color
-
Document.getElementsByTagName + color
Scusate non riesco a capire se è una cosa che si può o non si può fare.
Voglio che al click sul bottone tutti i label cambino di colore.
Ho provato a fare:document.getElementsByTagName('label').style.color='red';
ma mi dice che style.color non è una funziona possibile.
Qualcuno mi sa dare una dritta?O comunque ditemi come potrei fare in questo caso:
Ho un form.
Al click sul bottone "invia" parte un javascript che controlla se i campi inseriti sono scritti correttamente o se sono vuoti. La dove questa clausola va a mancare i label si colorano di rosso.
Però se vado a scrivere nuovamente per correggere l'errore di inserimento e riclicco su INVIA i parametri mi rimangono rossi!Ho ovviato a questo problema così:
function validazione(){ with(document.regForm){ if(nome.value==""){ document.getElementById('Lnome').style.color='red'; document.getElementById('Lnome').style.fontWeight='bold'; return false; }else{ document.getElementById('Lnome').style.color='#666666'; document.getElementById('Lnome').style.fontWeight='normal'; } } }
Ma siccome devo fare il controllo (questo era solo x il campo nome) su una decina di campi, mi pare diventi troppo lunga la porzione di codice necessario.
Non è che sapete dirmi come poter fare con il minor codice possibile.
-
Ciao!
document.getElementsByTagName('label')
questa funzione ti restituisce un array di elementi, si vede dalla keyword "Elements" che è plurale.
associa ad una variabile questo array, cicla su tutti gli elementi dell'array e ad ognuno cambia lo style. Così funziona..
Una cosa tipo:
a = document.getElementsByTagName('label')
for(i=0;i<a.length();i++)
{
a*.style.color = 'red';
}dovrebbe andare. Fammi sapere. Se serve posso farne uno di prova che funzioni.