Salut à tous,
Je souhaiterai que lorsque l'internaute clique sur le bouton submit ça mette en rouge le texte des balises <label> qui sont obligatoires et qui n'ont pas été rempli par l'internaute, voici mon code qui marche qu'à moitié :
Lorsque je clique sur le bouton submit ça me colorise bien en bleu les champs input obligatoires et ça me colorise en rouge une seule label obligatoire, mais je ne pige pas pourquoi toutes mes label avec un id="oblig" ne sont pas colorisé en rouge sur un onsubmit ou sur un onblur d'un input ?
Voyez mon erreur ?
Merci pour votre aide.
Je souhaiterai que lorsque l'internaute clique sur le bouton submit ça mette en rouge le texte des balises <label> qui sont obligatoires et qui n'ont pas été rempli par l'internaute, voici mon code qui marche qu'à moitié :
Code:
<html>
<head>
<script type="text/javascript">
function surligne(champ, erreur)
{
if(erreur)
{
champ.style.backgroundColor='#DBDBFF';
champ.style.color='#000000';
document.getElementById('oblig').style.color='red';
}
else
{
champ.style.backgroundColor='';
champ.style.color='';
document.getElementsById('oblig').style.color='black';
}
}
function verifText(champ)
{
if(champ.value=='')
{
surligne(champ, true);
return false;
}
else
{
surligne(champ, false);
return true;
}
}
function verifRadio(champ)
{
if(champ[0].checked!=true&&champ[1].checked!=true&&champ[2].checked!=true)
{
return false;
}
else
{
return true;
}
}
function verifForm(f)
{
var radio_Ok = verifRadio(f.sexe);
var nom_Ok = verifText(f.nom);
var prenom_Ok = verifText(f.prenom);
if(radio_Ok && nom_Ok && prenom_Ok)
return true;
else
{
alert("Merci de bien vouloir remplir tous les champs en rouge");
return false;
}
}
</script>
<title>Formulaire</title>
</head>
<body>
<form method="post" action="#" onsubmit="return verifForm(this)">
<input type="radio" name="sexe" value="Mr" id="mr" onblur="verifRadio(this)" />
<label for="mr" class="inline" id="oblig">Monsieur</label>
<input type="radio" name="sexe" value="Mme" id="mme" onblur="verifRadio(this)" />
<label for="mme" class="inline" id="oblig">Madame</label>
<input type="radio" name="sexe" value="Mlle" id="mlle" onblur="verifRadio(this)" />
<label for="mlle" class="inline" id="oblig">Mademoiselle</label> *<br><br>
<label for="prenom" id="oblig">Prénom:</label>
<input type="text" name="prenom" size="30" id="prenom" onblur="verifText(this)" required /> *<br><br>
<label for="nom" id="oblig">Nom:</label>
<input type="text" name="nom" size="30" id="nom" onblur="verifText(this)" required /> *<br><br>
<label for="telephone">Téléphone:</label>
<input type="text" name="telephone" size="30" id="telephone" /><br><br>
<input type="submit" value="Valider >>" />
</form>
</body>
</html>
Lorsque je clique sur le bouton submit ça me colorise bien en bleu les champs input obligatoires et ça me colorise en rouge une seule label obligatoire, mais je ne pige pas pourquoi toutes mes label avec un id="oblig" ne sont pas colorisé en rouge sur un onsubmit ou sur un onblur d'un input ?
Voyez mon erreur ?
Merci pour votre aide.