11480 sujets

JavaScript, DOM et API Web HTML5

VOICI MON CODE HTML
<form name="formulaire" action="essai_commande3.php" method="POST" onSubmit="return validation()"   >

<td><input name="nom" type="text" value="" size="40" /></td>

<input type="checkbox" name="A" value="A"  />
<input type="checkbox" name="B" value="A"  />
<input type="checkbox" name="C" value="A"  />
<input type="checkbox" name="D" value="A"  />
<input type="checkbox" name="E" value="A"  />
<input type="checkbox" name="F" value="A"  />
<input type="checkbox" name="G" value="A"  />
<input type="checkbox" name="H" value="A"  />
<input type="checkbox" name="I" value="A"  />

 <td width="62"><input name="annuler2" type="reset"   value="Annuler" /></td>

          <td width="172">&nbsp;</td>

          <td width="80"><input type="submit" name="Submit2" value="Envoyer" /></td>



JE VOUDRAIS QUE LE CODE JAVASCRIPT BLOQUE LE FORMULAIRE LORSQUE AUCUNE CASE N'EST COCHE MAIS LORSQUE JE FAIS LE TEST C'EST A DIRE JE REMPLI LE CHAMP NOM ET JE VALIDE IL ENVOIE LES DONNEES VERS MON FICHIER DE VERIFICATION PHP ET LORSQUE JE NE REMPLI RIEN IL BLOQUE SEULEMENT LE CHAMP "NOM" ET PAS LA CHECBOX
BESION D'AIDE SVP
<script language="javascript" type="text/javascript"> 
function validation() 

{ 

var val1="";

var val2="";

var val3=""; 	

var val4="";

var val5="";

var val6="";

var val7="";

var val8="";

var val9="";

var val10="";

var val11="";
var val12="";
var val13="";
var val14="";
var val15="";
var val16="";
var val17="";
var val18="";
var val19="";
var val20="";
var val21="";
var val22="";
var val23="";
var val24="";

if(document.formulaire.nom.value == "") 

		{ 

        alert ('veuillez entrer votre NOM COMPLET  ou votre SOCIETE'); 

       document.formulaire.nom.focus(); 

      return false; 

    	}

if(document.formulaire.A.checked == "") { val1=0;}else{val1=1;  }

	if(document.formulaire.B.checked == ""){ val2=0;}else{val2=1;  }

	if(document.formulaire.C.checked == ""){ val3=0;}else{val3=1;  }

	if(document.formulaire.D.checked == ""){ val4=0;}else{val4=1;  }

	if(document.formulaire.E.checked == ""){ val5=0;}else{val5=1;  }

	if(document.formulaire.F.checked == ""){ val6=0;}else{val6=1;  }

	if(document.formulaire.G.checked == ""){ val7=0;}else{val7=1;  }

	if(document.formulaire.H.checked == ""){ val8=0;}else{val8=1;  }

	if(document.formulaire.I.checked == ""){ val9=0;}else{val9=1;  }

val=val1+val2+val3+val4+val5+val6+val7+val8+val9;

	if(val==0)    

	{

	alert  ("faite un choix"); 

           return false; 

						         
}
</script>

Modifié par ezkiel (20 Oct 2016 - 20:09)
Bonjour,

Entre autre ta touche maj est cassé, le problème viens surement de là. Smiley langue
Modifié par dann (19 Oct 2016 - 19:47)
enfaite, je pense que tu pars d'un très mauvais pied si tu fais autant de variable sans nom.

au pire, passe par un tableau mais là c'est ingérable.
Hello,

C'est logique : si le nom est non vide alors le formulaire est validé et la fonction s'arrête.

Si on ajoute

else {

if(document.formulaire.A.checked == "") { val1=0;}else{val1=1;  }
etc.
}


on voit alors le test des boîtes à cocher fonctionner, si le nom est rempli.

Donc la structure de la fonction n'est pas correcte.
Déjà les lignes

var val1="";
...
var val24="";

ne servent à rien, à supprimer.

Ensuite il faut structurer la fonction autrement :
une variable erreur initialisée à false
et qui prendra la valeur true en cas d'erreur

Proposition :

	<script language="javascript" type="text/javascript"> 
	function validation() {
		var erreur = false;
		var message_nom = "";
		var message_boites = "";

		if(document.formulaire.nom.value == "")
		{ 
			message_nom = 'veuillez entrer votre NOM COMPLET  ou votre SOCIETE'; 
			erreur = true; 
		}
		
		if(document.formulaire.A.checked == "") { val1=0;}else{val1=1; }
		if(document.formulaire.B.checked == ""){ val2=0;}else{val2=1;  }
		if(document.formulaire.C.checked == ""){ val3=0;}else{val3=1;  }
		if(document.formulaire.D.checked == ""){ val4=0;}else{val4=1;  }
		if(document.formulaire.E.checked == ""){ val5=0;}else{val5=1;  }
		if(document.formulaire.F.checked == ""){ val6=0;}else{val6=1;  }
		if(document.formulaire.G.checked == ""){ val7=0;}else{val7=1;  }
		if(document.formulaire.H.checked == ""){ val8=0;}else{val8=1;  }
		if(document.formulaire.I.checked == ""){ val9=0;}else{val9=1;  }
	
		val=val1+val2+val3+val4+val5+val6+val7+val8+val9;
		
		if(val==0)    
		{
			message_boites = 'faite un choix'; 
			if (message_nom != '') message_boites = "\n" + 'faite un choix';
			erreur = true; 
		}
		
		if (erreur)
		{
			alert(message_nom + message_boites);
			return false;
		}	
	}	
		
		

</script>


Fonctionne bien chez moi, tous les cas sont traités.
Aucune idée, mais :

http://forum.alsacreations.com/help.php

13
Editer les messages, marquer comme [Résolu]

Vous pouvez éditer vos messages à tout moment. Vous n'avez qu'à vous rendre sur le sujet où se trouve le message que vous voulez éditer et vous apercevrez un lien d'édition. Personne d'autre ne peut modifier vos messages sauf le modérateur ou l'administrateur.
Une note est généralement inscrite au bas de tous les messages qui ont été édités de sorte à ce que tous puissent voir par qui et quand a été édité ce message.
Nous vous invitons à ajouter un tag [Résolu] lorsque la réponse à votre problême a été trouvée, cela facilitera les recherches futures.


En modifiant le titre du post et en ajoutant [résolu] au début, si j'ai compris
Modifié par farang (20 Oct 2016 - 18:33)
ok escuse moi de te deranger une derniere fois #farang je voudrait ajouter 3 input a mon formulaire donc 3 champs qui sont : nombre d'employé , contact,et email en plus du nom qui est deja là merci d'avance et c'est la derniere fois que je te fatigue promis
ezkiel a écrit :
ok escuse moi de te deranger une derniere fois #farang je voudrait ajouter 3 input a mon formulaire donc 3 champs qui sont : nombre d'employé , contact,et email en plus du nom qui est deja là merci d'avance et c'est la derniere fois que je te fatigue promis comment sera au final mon code javascript
OK !

j'ai changé un peu la méthode, mieux adaptée maintenant à un grand nombre de champs :

	<script language="javascript" type="text/javascript"> 
	function validation() {
		var erreur = false;
		var message_nom = "Veuillez entrer votre NOM COMPLET  ou votre SOCIETE";
		var message_employes = "Veuillez entrer le nombre d'employés";
		var message_contact = "Veuillez entrer le nom du contact";
		var message_mail = "Veuillez entrer le mail";
		var message_boites = "Veuillez faire un choix";
		var message_erreur = "";
		var retour = "";

		if(document.formulaire.nom.value == "")
		{ 
			message_erreur = message_erreur + message_nom;
			erreur = true; 
		}
		
		if(document.formulaire.employes.value == "")
		{ 
			if (message_erreur != '') retour =  "\n";
			message_erreur = message_erreur + retour + message_employes;
			erreur = true; 
		}
		
		if(document.formulaire.contact.value == "")
		{ 
			retour = "";
			if (message_erreur != '') retour =  "\n";
			message_erreur = message_erreur + retour + message_contact;
			erreur = true; 
		}
		
		if(document.formulaire.mail.value == "")
		{ 
			retour = "";
			if (message_erreur != '') retour =  "\n";
			message_erreur = message_erreur + retour + message_mail;
			erreur = true; 
		}
		
		if(document.formulaire.A.checked == "") { val1=0;}else{val1=1; }
		if(document.formulaire.B.checked == ""){ val2=0;}else{val2=1;  }
		if(document.formulaire.C.checked == ""){ val3=0;}else{val3=1;  }
		if(document.formulaire.D.checked == ""){ val4=0;}else{val4=1;  }
		if(document.formulaire.E.checked == ""){ val5=0;}else{val5=1;  }
		if(document.formulaire.F.checked == ""){ val6=0;}else{val6=1;  }
		if(document.formulaire.G.checked == ""){ val7=0;}else{val7=1;  }
		if(document.formulaire.H.checked == ""){ val8=0;}else{val8=1;  }
		if(document.formulaire.I.checked == ""){ val9=0;}else{val9=1;  }
	
		val=val1+val2+val3+val4+val5+val6+val7+val8+val9;
		
		if(val==0)    
		{
			retour = "";
			if (message_erreur != '') retour =  "\n";
			message_erreur = message_erreur + retour + message_boites;
			erreur = true; 
		}
		
		if (erreur)
		{
			alert(message_erreur);
			return false;
		}	
	}	
</script>


Et bien entendu ajouter les input avec le même nom que dans le script, tu peux en ajouter d'autres si tu veux, en ajoutant le message d'erreur correspondant, et le test.
Il faudrait ajouter la vérif que le champ "employés" contient bien une valeur numérique non nulle,
ou bien empêcher la saisie de certains caractères dans certains champs,
Un script parmi bien d'autres :
http://codes-sources.commentcamarche.net/source/54111-contrainte-de-saisie-sur-champs-input
cool te vraiment sympa cette fois jai vu le principe jai remarqué que tu aide bcp sur cet forum vraiment merci pour ce que tu fais cetait tout juste pour voir le principe et bien travaillé sur un petit projet encore merci#FARANG Smiley jap Smiley jap Smiley jap Smiley jap Smiley jap