11540 sujets
Bonjour.
J'ai pitêtre une solution, il y a peut-être plus simple, à voir...
Pour ce qui est de l'html et du formulaire, j'ai un champ obligatoire (on peut bien sûr en rajouter des autres avec des id différents) et les 4 fameux input text liés (d'où le nom de la classe).
Je ne savais pas si tu voulais juste bloquer le formulaire ou en même temps afficher les champs manquants donc j'ai fait les deux.
Le principe fonctionne avec un compteur sur les input vides, et donc le formulaire est valide seulement si le compteur est égal à 0 ou 4.
J'espère que ça t'aidera.
Modifié par SolidSnake (02 Aug 2011 - 18:50)
J'ai pitêtre une solution, il y a peut-être plus simple, à voir...
<form name="form" ACTION="valid.php" METHOD="POST">
<input type="text" name="toto1" id="obligatoire1" /><br/><br/>
<input type="text" name="toto2" class="lie" />
<input type="text" name="toto3" class="lie" />
<input type="text" name="toto4" class="lie" />
<input type="text" name="toto5" class="lie" /><br/><br/>
<input type="submit" />
</form>
Pour ce qui est de l'html et du formulaire, j'ai un champ obligatoire (on peut bien sûr en rajouter des autres avec des id différents) et les 4 fameux input text liés (d'où le nom de la classe).
$(document).ready(function() {
$("form").submit(function () {
valid = true;
count = 0;
$("#obligatoire1").css("background-color","#fff");
$(".lie").css("background-color","#fff");
if ($("#obligatoire1").val() == "") {
$("#obligatoire1").css("background-color","#ffb6b6");
valid = false;
}
$(".lie").each(function() {
if ($(this).val() == "") count++;
});
if (count != 0 && count != 4) {
$(".lie").css("background-color","#ffb6b6");
valid = false;
}
return valid;
});
});
Je ne savais pas si tu voulais juste bloquer le formulaire ou en même temps afficher les champs manquants donc j'ai fait les deux.
Le principe fonctionne avec un compteur sur les input vides, et donc le formulaire est valide seulement si le compteur est égal à 0 ou 4.
J'espère que ça t'aidera.

Modifié par SolidSnake (02 Aug 2011 - 18:50)