Vérifier les champs d'un formulaire avec Javacript

Vérifier les champs d'un formulaire avec Javacript - HTML/CSS - Programmation

Marsh Posté le 11-04-2010 à 02:38:59    

Bonjour à tous,
J'ai un projet à rendre pour demain (ou devrais-je dire aujourd'hui, vu l'heure!) soir en HTML/CSS/Javascript et vu qu'on a eu très peu de séances de cours à ce sujet, je patauge!
Je souhaite effectuer les codes suivants:
 
- Vérifier que les champs d'un formulaire ne sont pas vides. Si un champ est vide à la soumission, retourner un message d'alerte contenant le champ en question.
- Vérifier que deux champs spécifiques du formulaire contiennent la même valeur. Si ce n'est pas le cas, retourner un message d'erreur (prendre le nom des deux champs en paramètre).
- Vérifier que certains champs ne possèdent pas ou possèdent certains caractères (comme l'arobase pour "e-mail" par exemple ou que des chiffres pour l'age).
 
Pour le premier, voici un semblant de code:

Code :
  1. function checkEmpty(str)
  2.    {
  3.     if (document.forms['registration'].elements['prenom'].value="" )
  4.      {
  5.       alert('Oops! You forgot your '+document.forms['registration'].elements['prenom']);
  6.      }
  7.     else
  8.      {
  9.       var i=0;
  10.       while (str.charAt(i) != (" " ) && (i<str.length-1))
  11.        {
  12.         i=i+1;
  13.        }
  14.       if (i<str.length-1)
  15.        {
  16.         alert('Your '+document.forms['registration'].elements['prenom']+' field cannot contain spaces.');
  17.        }
  18.      }
  19.    }


 
Je voudrais l'appliquer à tous les champs, et pas seulement à "prénom". Pour les deux autres, mes recherches sont infructueuses. Enfin, je n'arrive pas à savoir comment faire en sorte que les Javascripts se déclenchent au clic du bouton de soumission dans la form.
 
Merci d'avance pour vos réponses, urgentes de préférence!

Reply

Marsh Posté le 11-04-2010 à 02:38:59   

Reply

Marsh Posté le 11-04-2010 à 02:44:16    

Mdr, raaaahh les projets de l'ESILV:).
 
Bon c'est simple pour l'activation lorsque tu appuie sur un bouton... Ds le code HTML tu rajoutes par exemple:
 
 
<button ' onclick="return verif(document.getElementById('objet').value);" type='submit'>Valider</button>  
 
 
En sachant que verif(objet) est ma fonction en javascript ^^.
 
Allez bon courage pour la suite... Et si jamais tu trouves comment supprimer le clic droit et en même temps afficher un message "alert()", penses à moi ^^.

Reply

Marsh Posté le 11-04-2010 à 02:48:57    

Ok, pas de soucis, j'attends l'avis des autres... ^^


---------------
"Pour diriger un troupeau de 1000 vaches, il faut 1 bâton. Pour diriger un troupeau de 1000 hommes, il faut 1000 bâtons. Pour diriger un troupeau de 1000 français, il faut beaucoup beaucoup de bâtons." - Proverbe africain
Reply

Marsh Posté le 11-04-2010 à 02:54:33    

Mais, c'est bien projet HTML/javascript/css de l'ESILV ?
 
Tu veux le code source de ma fonction verif ?

Reply

Marsh Posté le 11-04-2010 à 13:22:21    

Oui et oui volontiers :P
 
Edit: Je ne comprends pas pourquoi il y a un return dans ta balise "button". :heink:  
       Moi ce que je veux c'est que lorsque je clique sur le bouton, s'il n'y a pas lieu d'afficher un message d'erreur, sa valide normalement.
       Autrement, ça affiche un message d'erreur.


Message édité par User Name le 11-04-2010 à 13:57:15

---------------
"Pour diriger un troupeau de 1000 vaches, il faut 1 bâton. Pour diriger un troupeau de 1000 hommes, il faut 1000 bâtons. Pour diriger un troupeau de 1000 français, il faut beaucoup beaucoup de bâtons." - Proverbe africain
Reply

Marsh Posté le 11-04-2010 à 16:15:58    

Bon, j'ai un peu avancé (ou pas). J'ai fait cette procédure:
 

Code :
  1. function verify()
  2.   {
  3.    var regform = new array();
  4.    for (i=0; i<8; i++)
  5.     {
  6.      regform[i]=document.forms['registration'].elements[i].value;
  7.     }
  8.    for (j=0; j<8; j++)
  9.     {
  10.      if (regform[j]=="" );
  11.       {
  12.        alert('A fatal error has occured. '+document.forms['registration'].elements[j].name+' field is blank.');
  13.        break;
  14.       }
  15.     }
  16.   }
  17. *


 
Le problème c'est qu'il me dit toujours que le premier champ est vide, même si ce n'est pas vrai! Pourquoi?
 
Edit: Pour utiliser la procédure dans la form, j'ai fait ceci:
 

Code :
  1. <form onsubmit="return verify()" method="post" name="registration">


Message édité par User Name le 11-04-2010 à 16:34:00

---------------
"Pour diriger un troupeau de 1000 vaches, il faut 1 bâton. Pour diriger un troupeau de 1000 hommes, il faut 1000 bâtons. Pour diriger un troupeau de 1000 français, il faut beaucoup beaucoup de bâtons." - Proverbe africain
Reply

Sujets relatifs:

Leave a Replay

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