vérification formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : vérification formulaire

par Truc » 12 juin 2006, 23:28

Salut,

Tu retourne déjà une valeur sur le onsubmit avec la fonction check() le reste n'est donc plus évalué.

il faudrait regrouper:
function validation()
{
   var valide=false;
   if(check() && radiovide())
       valide = true;

   return valide;     
}
... onsubmit='return validation();' ...

vérification formulaire

par béka » 12 juin 2006, 17:50

Bonjour voila j'ai fait un script qui vérifie que des champs ne soient pas vides, mais je n'arrive pas à faire en sorte que des boutons radio soient bien séléctionés.

Voila mon code :

Code : Tout sélectionner

<script language="JavaScript1.2"> function check() { var msg = ""; //ici nous vérifions si le champs poste est vide, changeons la couleur du champs et définissons un message d'alerte if (document.depot.poste.value == "") { msg += "Veuillez saisir le poste pour lequel vous postulez\n"; document.depot.poste.style.backgroundColor = "#F3C200"; } //ici nous vérifions si le champs demande est vide, changeons la couleur du champs et définissons un message d'alerte if (document.depot.demande.value == "") { msg += "Veuillez choisir la demande pour laquelle vous postulez\n"; document.depot.demande.style.backgroundColor = "#F3C200"; } //Si aucun message d'alerte a été initialisé on retourne TRUE if (msg == "") return(true); //Si un message d'alerte a été initialisé on lance l'alerte else { alert(msg); return(false); } } function radiovide() { if ((document.depot.demande[0].checked==false) && (document.depot.demande[1].checked==false)) { alert("Vous n'avez pas spécifiez s'il s'agit d'une demande d'emploi ou d'une demande de stage"); return false; } return true; } </script>
et voila le formulaire :

Code : Tout sélectionner

<form action="upload.php" method="post" name="depot" onSubmit="return check(); return radiovide()"> <p class="Texte"> Nom* : <br> <input name="nom_etudiant" type="text" size="20" value="<? echo $_SESSION['nom'] ?>" readonly><br><br> Prénom* : <br> <input name="prenom_etudiant" type="text" size="20" value="<? echo $_SESSION['prenom'] ?>" readonly><br><br> Adresse* : <br> <textarea name="adresse_etudiant" cols="30" rows="5" readonly><? echo $adresse_etudiant."\n".$cp_etudiant." ".$ville_etudiant; ?></textarea><br><br> Email* : <br> <input name="email_etudiant" type="text" size="20" value="<? echo $email_etudiant; ?>" readonly><br><br> Tél* : <br> <input name="tel_etudiant" type="text" size="20" value="<? echo $tel_etudiant; ?>" readonly><br><br> Poste recherché* : <br> <input name="poste" type="text" size="30"><br> Dans quel milieu professionnel : <select name="milieu_professionnel"> <option>Automobile</option> <option>Electricité</option> <option>Energétique</option> <option>Etude et définition de produits industriels</option> <option>Structure métallique</option> <option>Prothèse dentaire</option> </select><br><br> Votre demande concerne une demande <br>de stage <input name="demande" type="radio" value="stage" OnClick="radiovide()"> d'emploi<input name="demande" type="radio" value="emploi" OnClick="radiovide()">*<br><br> Lettre de motivation* : <br> <textarea name="intitule" cols="60" rows="40">Ici votre lettre de motivation...</textarea> </p> <p class="Texte2">Vous pouvez, si vous le souhaitez, mettre votre cv en ligne : <br> <br>Votre fichier doit etre au format .pdf <br><input type="file" name="file" size="50"><br></p> <center><input name="submit" type="submit" value="Enregistrer"><input name="reset" type="reset" value="Effacer"></center> </form><br> <center> <form action="../index.php" method="post"> <input type="submit" value="Retour à l'espace étudiant"> </form>
si les boutons radio ne sont pas sélecionnés, rien n'est arrété. Il n'y a pas de message d'erreur