Comment changer la couleur d'un champ HTML en vert ou rouge selon qu'il soit rempli ou pas ?
Réponses rédigées par Antoine
Dernière mise à jour : 2020-10-10 11:20:26
Question
J'ai un formulaire HTML avec plusieurs champs input
du type texte ; comment puis-je changer la couleur des champs HTML, en vert ou en rouge, selon qu'ils soient remplis ou pas ?
Réponse
Pour changer la couleur des champs d'un formulaire HTML, selon qu'ils soient remplis ou pas, vous pouvez utiliser JavaScript pour détecter les évènements qui amènent au changement de couleurs, et CSS pour colorer les champs input
du formulaire.
Dans l'exemple suivant, on attribue la class
exemple à l'ensemble des champs input
du formulaire : class="exemple"
, et les évènements onchange
et onclick
exécutent la fonction JavaScript vérifier()
; elle change la couleur des champs du formulaire, selon qu'ils sont remplis ou non.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Comment changer la couleur d'un champ HTML en vert ou rouge selon qu'il soit rempli ou pas ?</title>
</head>
<body>
<input type="text" class="exemple" name="1" value="" onchange="verifier();">
<input type="text" class="exemple" name="2" value="" onchange="verifier();">
<input type="text" class="exemple" name="3" value="" onchange="verifier();">
<input type="button" value="valider" onclick="verifier();">
<script>
function verifier()
{
const elements = document.querySelectorAll(".exemple");
Array.from(elements).forEach((element, index) =>
{
if (element.value != '')
{
element.style.border = "2px solid green";
}
else
{
element.style.border = "2px solid red";
}
});
}
</script>
</body>
</html>