begin process at 2010 03 22 15:26:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

Formulaire+checkbox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Formulaire+checkbox

dimanche 24 juillet 2005 à 20:09:04 | Formulaire+checkbox

CHABRY

Bonjour,

je suis un débutant en javascript et je compte écrire du code javascript générique visant la validation de n'importe quel formulaire indépendemment de ses champs.

J'ai commencé par implémenter une fonction qui vérifie que les champs ne sont pas vides, mais j'ai rencontré un pb au niveau des checkbox.

Voilà mon code accompagné du formulaire, merci de vouloir m'aider à pouvoir valider les checkbox mais aussi si vous pouvez me proposer des idées d'optimisation je serais vraiment reconnaissant.

MERCI!

CODE

<HTML>
<HEAD>
<link rel="stylesheet" type="text/css" href="style.css">
<SCRIPT LANGUAGE="javascript">
function tester(nbform)
{
for (i=0; i<nbform; i++) //on parcoure tous les formulaires de la page HTML
{
var formulaire=document.forms[i];
for (n=0; n<formulaire.elements.length;n++) //On parcoure tous les champs de saisie de chaque formulaire
{
switch (formulaire.elements[n].type) // On traite chaque champs de saisie selon son type
{
case "text":
if (formulaire.elements[n].value=="")
{
alert("champs texte vide!");
//formulaire.elements[n].style.backgroundColor="#DC143C";
return false;
}
//write(formulaire.elements[n].value);
break;

case "password":
if (formulaire.elements[n].value=="")
{
alert("champs password vide!");
//formulaire.elements[n].style.backgroundColor="#DC143C";
return false;
}
//write(formulaire.elements[n].value);
break;

case "textarea":
if (formulaire.elements[n].value=="")
{
alert("champs textarea vide!");
//formulaire.elements[n].style.backgroundColor="#DC143C";
return false;
}
//write(formulaire.elements[n].value);
break;


case "select-one":
champs = eval('formulaire.elements[n].options[formulaire.elements[n].selectedIndex].value');

if (champs=="-20")
{
alert("Sélectionnez un élément de la liste!");
//formulaire.elements[n].style.backgroundColor="#DC143C";
return false;
}
//write(formulaire.elements[n].value);
break;

case "radio":
champs = eval('formulaire.elements[n].name');
var err=true;
for ( var n=0;n<formulaire[champs].length;n++ )
{ if ( formulaire[champs][n].checked )
{ err=false;
n=champs.length; } }
if ( err )
{ alert("Sélectionnez un bouton radio!");
//formulaire.elements[n].style.backgroundColor="#DC143C";
return false; }

//write(formulaire.elements[n].value);
break;

case "checkbox":
champs = eval('formulaire.elements[n].name');
var err=true;
for ( var n=0;n<formulaire[champs].length;n++ )
{ if ( formulaire[champs][n].checked )
{ alert("checked!"); //pour tester qu'il entre dans la boucle.
err=false;
n=champs.length; } }
if ( err )
{ alert("Sélectionnez un checkbox!");
//formulaire.elements[n].style.backgroundColor="#DC143C";
return false; }

//write(formulaire.elements[n].value);
break;

default:
alert(formulaire.elements[n].type);
break;


}

}
alert("Formulaire saisi avec succés!");
}
}

</script>

</HEAD>

<BODY bgcolor=White vlink=Gray alink=Gray>
<FORM Name="formulaire" method="Post" Action="" onsubmit="Javascript:return tester(1);">
<table width="624" border="1">
<tr>
<td width="385">Civilit&eacute; (sans repositionnement sur un item): </td>
<td width="223"><select name="CIVILITE">
<option value="-20">- Sélectionnez -</option>
<option value="1">Mr</option>
<option value="2">Mlle</option>
<option value="3">Mme</option>
</select></td>
</tr>
<tr>
<td>Situation (avec repositionnement sur l'item 1):</td>
<td><select name="SITUATION">
<option value="-20">- Sélectionnez -</option>
<option value="1">Célibataire</option>
<option value="2">Divorcé</option>
<option value="3">Marié</option>
</select></td>
</tr>
<tr>
<td>Nom :</td>
<td><input name="nom" size=25></td>
</tr>
<tr>
<td>Mot de passe </td>
<td><input name="pass" type="password" id="pass"></td>
</tr>
<tr>
<td>Confirmation du mot de passe </td>
<td><input name="conf_pass" type="password" id="conf_pass"></td>
</tr>
<tr>
<td>Code postal :</td>
<td><input name="postal" size=25></td>
</tr>
<tr>
<td>Saisissez votre email :</td>
<td><input name="email" size=25></td>
</tr>
<tr>
<td>Adresse:</td>
<td><textarea name="adresse" id="adresse"></textarea></td>
</tr>
<tr>
<td>Pays:</td>
<td><select name="pays" id="pays">
<option value="-20" selected>- S&eacute;lectionnez -</option>
<option value="1">Belgique</option>
<option value="2">France</option>
</select></td>
</tr>
<tr>
<td>Niveau:</td>
<td><input name="radiobutton" type="radio" value="radiobutton">
Etudiant
<input name="radiobutton" type="radio" value="radiobutton">
Professionnel</td>
</tr>
<tr>
<td>Comp&eacute;tences:</td>
<td><input type="checkbox" name="checkbox" value="checkbox">
SGBD
<input type="checkbox" name="checkbox2" value="checkbox">
UNIX
<input type="checkbox" name="checkbox3" value="checkbox">
Dev Web </td>
</tr>
<tr>
<td><input type="submit" name="valider" value="Validation"></td>
<td>&nbsp;</td>
</tr>
</table>
<br>

</FORM>
</BODY>
</HTML>

lundi 25 juillet 2005 à 17:48:55 | Re : Formulaire+checkbox

Steph666

Bonjour,

Sit tu veux tester si tous tes checkbox sont cochés, il te suffit de remplacer dans ton code :

> case "checkbox":
> if (formulaire.elements[n].checked == false) {
>  alert("Sélectionnez un checkbox!");
>  return false;
> }
> break;

lundi 25 juillet 2005 à 18:07:57 | Re : Formulaire+checkbox

Steph666

Bonjour,

g pas tout posté :-)

voilà voilà :

> case "checkbox":
> champs = eval('formulaire.elements[n].name');

> if (formulaire[champs].length > 0) {
>  var err=true;

>  for ( var n=0;n<formulaire[champs].length;n++ )
>  { if ( formulaire[champs][n].checked )
>  { alert("checked!"); //pour tester qu'il entre dans la boucle.
>  err=false;
>  n=champs.length; } }
>  if ( err )
>  { alert("Sélectionnez un checkbox!");
>  //formulaire.elements[n].style.backgroundColor="#DC143C";
>  return false; }
> } else {
>  if (formulaire.elements[n].checked == false) {
>   alert("Sélectionnez un checkbox!");
>   return false;
>  }
> }

> //write(formulaire.elements[n].value);
> break;

mardi 26 juillet 2005 à 11:27:23 | Re : Formulaire+checkbox

CHABRY

Merci steph666 pour ton aide mais j'ai enfin découvert le pb, les checkbox n'avaient pas le même nom.
mardi 26 juillet 2005 à 18:12:53 | Re : Formulaire+checkbox

Steph666

Oui c pour ça que je t'ai posté une solution qui prévoit le cas où ils portent le même nom, et celui où ils ont des noms différents., j'aurais peut-être du préciser.


Cette discussion est classée dans : formulaire, champs, alert, value, elements


Répondre à ce message

Sujets en rapport avec ce message

Bug en javascript. [ par CHABRY ] Bonjour, J'ai réussi à valider les différents champs de saisie de mon formulaire mais le pb c qu'en validant les checkbox, ça se plante au niveau du " empècher l'envoi du formulaire si tout les champs ne sont pas remplis [ par cgillet ] bonjour,j'ai crée un formulaire ( formule à la fin du message )j'ai rendu certain champs obligatoire mais je voudrais rendre l'envoi du dit formulaire Javascript et référence objet. [ par CHABRY ] Bonjour, J'ai commencé à écrire du code javascript visant la validation de n'importe quel formulaire d'1 même page HTML en parcourant les formulaires boucle sur formulaire.champs.value [ par lucky82 ] Bonjour tout le monde; Pour obtenir la valeur d'un champs texte nommé "chp1" on fait comme ça: formulaire.chp1.valuemais s'il y a dans mon formulair If If Else... [ par plx4ever ] Salut à tous !Alors voila mon petit probleme qui doit etre tres simple a resoudre pourtant...Mon code: function verif(formulaire) { if(formulaire.nom. Verification de champs [ par tib411 ] bonjour,Des petits problémes avec les verifications de formulaireVoila mon probléme :Pour l'instant j'arrive à verifier qu'un champ n'est pas videfunc problème de vérification des champs d'un formulaire [ par arambasic ] Voici mon formulaire avec le code javascript pour le vérifié, quand j'envoie le formulaire in me donne  bien les box d'erreurs mais il enregistre les sujet formulaire [ par limaseb ] J'ai un probleme sur mon formulaire aimerais le faire apparaitre en email outlook mais en colonne et non en ligne avec entre les informations & ces po enregistrer formulaire dans cookie [ par chabichowed ] Bonjour,Le script ci dessous permet de memoriser dans un cookie les valeur d un formulaire. le truc c est qu il ne retient que les textfield.Je l ai e formulaire avec cobo rechargeable [ par alexius ] Bonjour à tous, je souhaite réaliser un formulaire avec des options de vote que je souhaite placer dans des combobox.Le formulaire comporte une quaran


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales