contrôle de saisie JS

contrôle de saisie JS - HTML/CSS - Programmation

Marsh Posté le 08-01-2009 à 09:43:06    

Voila je ne suis pas spécialiste du JS et j'aurais besoin d'un coup de main.
Le contrôle de saisie du formulaire de contact, fonctionne et affiche les éventuels oublis de remplissage de champs, mais je voudrais qu'il donne le focus au champs de la première erreur et ainsi de suite éventuellement et là, je sèche !
 

Code :
  1. //Controle si les champs du formulaire sont bien rempli
  2. function CheckForm () {
  3. //Initialise variables
  4. var errorMsg = "";
  5. var formArea = document.getElementById('Demande');
  6. //controle du champs nom
  7. if (formArea.nom.value == "" ){
  8.  errorMsg += "\n\tnom \t- Entrez votre nom";
  9. }
  10. //controle du champs prenom
  11. if (formArea.prenom.value == "" ){
  12.  errorMsg += "\n\tprenom \t- Entrez votre prénom";
  13. }
  14. //controle s'il y a une adresse Mail et si elle est valide
  15. if ((formArea.eMail.value == "" ) || (formArea.eMail.value.length > 0 && (formArea.eMail.value.indexOf("@",0) == - 1 || formArea.eMail.value.indexOf(".",0) == - 1))) {
  16.  errorMsg += "\n\teMail \t- Entrez une adresse mail valide";
  17. }
  18. //controle du champs Objet
  19. if (formArea.Objet.value == "" ){
  20.  errorMsg += "\n\tObjet \t- Entrez l'objet de votre demande";
  21. }
  22. //controle du champs demande
  23. if (formArea.demande.value.length <= 0){
  24.   errorMsg += "\n\tdemande \t- Entrez votre demande";
  25. }
  26. //S'il y a un problème avec le formulaire on affiche la ou les erreurs
  27. if (errorMsg != "" ){
  28.  msg = "______________________________________________________________\n\n";
  29.  msg += "Votre mail n'a pas été envoyé, car il y a des problèmes dans le formulaire.\n";
  30.  msg += "Veuillez corriger et re soumettre le formulaire.\n";
  31.  msg += "______________________________________________________________\n\n";
  32.  msg += "Le ou les champs suivant doivent être corrigés.: -\n";
  33.  errorMsg += alert(msg + errorMsg + "\n\n" );
  34.  return false;
  35. }
  36. return true;
  37. }

Reply

Marsh Posté le 08-01-2009 à 09:43:06   

Reply

Marsh Posté le 08-01-2009 à 11:32:20    

Rajouter  formArea.element.focus(); ce qui donne

Code :
  1. //Controle si les champs du formulaire sont bien rempli  
  2. function CheckForm () {
  3. //Initialise variables  
  4. var errorMsg = "";
  5. var formArea = document.getElementById('Demande');
  6. //controle du champs nom  
  7. if (formArea.nom.value == "" ){
  8. errorMsg += "\n\tnom \t- Entrez votre nom";
  9. formArea.nom.focus();
  10. }
  11. //controle du champs prenom  
  12. if (formArea.prenom.value == "" ){
  13. errorMsg += "\n\tprenom \t- Entrez votre prénom";
  14. formArea.prenom.focus();
  15. }
  16. //controle s'il y a une adresse Mail et si elle est valide  
  17. if ((formArea.eMail.value == "" ) || (formArea.eMail.value.length > 0 && (formArea.eMail.value.indexOf("@",0) == - 1 || formArea.eMail.value.indexOf(".",0) == - 1))) {
  18. errorMsg += "\n\teMail \t- Entrez une adresse mail valide";
  19. formArea.eMail.focus();
  20. }
  21. //controle du champs Objet  
  22. if (formArea.Objet.value == "" ){
  23. errorMsg += "\n\tObjet \t- Entrez l'objet de votre demande";
  24. formArea.Objet.focus();
  25. }
  26. //controle du champs demande  
  27. if (formArea.demande.value.length <= 0){
  28.   errorMsg += "\n\tdemande \t- Entrez votre demande";
  29. formArea.demande.focus();
  30. }
  31. //S'il y a un problème avec le formulaire on affiche la ou les erreurs  
  32. if (errorMsg != "" ){
  33. msg = "______________________________________________________________\n\n";
  34. msg += "Votre mail n'a pas été envoyé, car il y a des problèmes dans le formulaire.\n";
  35. msg += "Veuillez corriger et re soumettre le formulaire.\n";
  36. msg += "______________________________________________________________\n\n";
  37. msg += "Le ou les champs suivant doivent être corrigés.: -\n";
  38. errorMsg += alert(msg + errorMsg + "\n\n" );
  39. return false;
  40. }
  41. return true;
  42. }


Reply

Marsh Posté le 08-01-2009 à 11:43:30    

Merci beaucoup ça fonctionne :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed