Vérifier des champs de saisies 'un formulaire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 32 746 fois - Téléchargée 28 fois

Contenu du snippet

Le code ci-dessous (mon premier après des années d'adhésion à vbfrance.com.
Il permet de vérifier la saisie des données dun formulaire avant de l'envoyer vers page de traitement.
Vous m'excuserez car il ya un peu de ASP dans mon code.

Ciao et à bientôt chers ami(e)s.

RAHOU.

Source / Exemple :


<script language="JavaScript" type="text/JavaScript">

function IsNumeric(sText)
//vérifie si la chaine envoyée est de type numérique
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }

function EnregistrerFiche()
{//vérifie si la valeur true qui correspond à une bonne saisie est envoyée
	if (VerifierSaisie())
		{
			document.form1.Enregistrer.disabled=true; 
			document.form1.submit();   
		}
}

function VerifierSaisie()
{//Zone de vérification de la saisie

	if (IsNumeric(document.form1.TicketPetitDejeuner.value)==false)
	{
		alert("Le nombre tickets '\Petit Déjeuner'\ doit être numérique");
		document.form1.TicketPetitDejeuner.focus();
		return false;
	}
	
	if (IsNumeric(document.form1.TicketRepasPrincipal.value)==false)
	{
		alert("Le nombre tickets '\Repas Principal'\ doit être numérique");
		document.form1.TicketRepasPrincipal.focus();
		return false;
	}
	
	if (IsNumeric(document.form1.TicketMenuComplet.value)==false)
	{
		alert("Le nombre tickets '\Menu Complet'\ doit être numérique");
		document.form1.TicketMenuComplet.focus();
		return false;
	}
	
	if(document.form1.TicketPetitDejeuner.value>22)
	{
		alert("Le nombre de tickets '\Petit Déjeuner'\ ne peut dépasser 22");
		document.form1.TicketPetitDejeuner.focus();
		return false;
	}

	if(document.form1.TicketRepasPrincipal.value=='' &&  document.form1.TicketMenuComplet.value=='')
	{
		alert("Un des champs '\Repas Principal'\ ou '\Menu complet'\ doit être renseigné!!!");
		document.form1.TicketRepasPrincipal.focus();
		return false;
	}
	if(document.form1.TicketMenuComplet.value>22)
	{
		alert("Le nombre de tickets '\Menu Complet'\ ne peut dépasser 22");
		document.form1.TicketMenuComplet.focus();
		return false;
	}

	if(document.form1.TicketRepasPrincipal.value>22)
	{
		alert("Le nombre de tickets '\Repas Principal'\ ne peut dépasser 22");
		document.form1.TicketRepasPrincipal.focus();
		return false;
	}
	var nombre
	nombre=Math.abs(document.form1.TicketRepasPrincipal.value)+Math.abs(document.form1.TicketMenuComplet.value);
	if(nombre>22)
	{	//alert(nombre);
		alert("La somme des nombres de tickets '\Repas Principal'\ et '\Menu Complet'\ ne peut dépasser 22");
		document.form1.TicketRepasPrincipal.focus();
		return false;
	}
	
	if(document.form1.TicketPetitDejeuner.value=='')
	{
		document.form1.TicketPetitDejeuner.value='0';
	}
	
	if(document.form1.TicketRepasPrincipal.value=='')
	{
		document.form1.TicketRepasPrincipal.value='0';
	}
	
	if(document.form1.TicketMenuComplet.value=='')
	{
		document.form1.TicketMenuComplet.value='0';
	}

	return true;
}
  </script>

Conclusion :


<!-Le formulaire proprement dit-->

<form action="confirmation.asp" method="post" name="form1">
<div align="center"><br>
Passer votre commande de tickets
<%
Select Case DatePart("m",Date())+1
Case 1 Response.Write("de Janvier")
Case 2 Response.Write("de Février")
Case 3 Response.Write("de Mars")
Case 4 Response.Write("d'Avril")
Case 5 Response.Write("de Mai")
case 6 Response.Write("de Juin")
Case 7 Response.Write("de Juillet")
Case 8 Response.Write("de Août")
Case 9 Response.Write("de Septembre")
Case 10 Response.Write("d'Octobre")
Case 11 Response.Write("de Novembre")
Case 12 Response.Write("de Décembre")
End Select
%>
</span><br>
</span> <br>
</div>
<table align="center">
<tr valign="baseline">
<td nowrap align="right"><div align="right">Matricule:</div></td>
<td class="Membre1"> <input type="hidden" name="Numero" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right"><div align="right">Nom & Prénom:</div></td>
<td class="Membre1"> <input type="hidden" name="NomPrenom" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right"><div align="right">Direction:</div></td>
<td class="Membre1"> <input type="hidden" name="Direction" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right"><div align="right">Division:</div></td>
<td class="Membre1"> <input type="hidden" name="Division" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right"><div align="right">Site:</div></td>
<td class="Membre1"> <input type="hidden" name="Site" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right"><div align="right">Nombre de Tickets Petit Dejeuner:</div></td>
<td class="Membre1"> <input type="text" name="TicketPetitDejeuner" value="" size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right"><div align="right">Nombre de Tickets Repas Principal:</div></td>
<td> <input type="text" name="TicketRepasPrincipal" value="" size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right"><div align="right">Nombre de Tickets Menu Complet:</div></td>
<td> <input type="text" name="TicketMenuComplet" value="" size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right"><div align="right">Mois:</div></td>
<td> <input type="hidden" name="Mois" value="<%=DatePart("m",Date())+1%>" size="32">
<%
Select Case DatePart("m",Date())+1
Case 1 Response.Write("Janvier")
Case 2 Response.Write("Février")
Case 3 Response.Write("Mars")
Case 4 Response.Write("Avril")
Case 5 Response.Write("Mai")
case 6 Response.Write("Juin")
Case 7 Response.Write("Juillet")
Case 8 Response.Write("Août")
Case 9 Response.Write("Septembre")
Case 10 Response.Write("Octobre")
Case 11 Response.Write("Novembre")
Case 12 Response.Write("Décembre")
End Select
%></td>
</tr>
<tr valign="baseline">
<td nowrap align="right"><div align="right">Année:</div></td>
<td> <input type="hidden" name="Annee" value="<%=DatePart("yyyy",Date())%>" size="32">
<%=DatePart("yyyy",Date())%></td>
</tr>
<tr valign="baseline">
<td nowrap align="right"><div align="right"></div></td>
<td class="Membre1"> <input name="Enregistrer" id="Enregistrer" type="button" onClick="EnregistrerFiche()" value="Enregistrer"> </td>
</tr>
</table>
<input type="hidden" name="DateSaisie" value="<%=date()%>" size="32">
<input type="hidden" name="HeureSaisie" value="<%=time()%>" size="32">
<input type="hidden" name="AdresseIP" value="<%=Request.ServerVariables("REMOTE_ADDR")%>" size="32">
</form>

A voir également

Ajouter un commentaire Commentaires
Dexmon Messages postés 70 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 31 janvier 2009
18 janv. 2008 à 10:21
Et pour un champs de type checkbox on fait comment pour le vérifier ?
Jsman Messages postés 264 Date d'inscription jeudi 31 juillet 2003 Statut Membre Dernière intervention 12 juillet 2005
17 mai 2005 à 21:22
;)
jeanguy56 Messages postés 1 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 21 avril 2005
21 avril 2005 à 16:50
merci, ce code m'a bien aidé :)
Jsman Messages postés 264 Date d'inscription jeudi 31 juillet 2003 Statut Membre Dernière intervention 12 juillet 2005
21 juin 2004 à 16:06
de rien, je posterait peut-être plus tard ce "petit bout de code"

Juste parce que c'est pratique


:)
Jsman
corbakoo Messages postés 24 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 24 août 2005
16 juin 2004 à 20:57
Merci beaucoup pour ce petit bout de code ;)
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.