11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour voici ma difficulté j'ai une formulaire qui contient 4 input text à l'etat initial il ne sont pas obligatoire mai lorsque je rempli l'un d'eux les autres champs deviendront obligatoires
et tout ça avec jquery

merci pour votre aide Smiley smile
Bonjour.

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.
Smiley cligne
Modifié par SolidSnake (02 Aug 2011 - 18:50)