Posez votre question Signaler

Champs de Formulaire: vérification javascript [Résolu]

callahan75 27Messages postés 21 novembre 2007Date d'inscription - Dernière réponse le 20 févr. 2008 à 17:53
Bonjour à tous,
j'aimerais créer un formulaire avec du javascript "propre" et le plus simple possible... mais je coince pour une vraie vérification des champs (voir mon ex. ci-dessous ) car j'aimerais inclure pour chaque champ de texte une vérif' supplémentaire, efficace, pour éviter un remplissage farfelu par des espaces, chiffres ou autres caractères... Je n'ai pas trouvé la bonne expression régulière ou le bout de code qui s'incluerait convenablement dans le mien...(celui-ci vérifiant en fait que dalle ! hormis l'absence de frappe ) Le problème se posera aussi pour le mail !...Donc si quelqu'un passait par là et pouvait inclure à ce début de script quelques lignes "imparables" cela serait très sympa à vous... Par avance merci.
<script type="text/javascript">
function verif_form1()
{
if (document.getElementById('nom').value=="" ) {
alert ("Veuillez entrer votre nom SVP");
return false;
}
if (document.getElementById('prenom').value=="" ) {
alert ("Veuillez entrer votre prénom SVP");
return false;
}
else {
return true;
}
}
/*/////////////////////////// ETC.... //////////////////////////*/
</script>
Lire la suite 

Champs de Formulaire: vérification javascript »

9 réponses
Réponse
+1
moins plus
var numb = '0123456789';
var lwr = 'abcdefghijklmnopqrstuvwxyz';
var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
 
function isValid(parm,val) {
  if (parm == "") return false;
  for (i=0; i<parm.length; i++) {
    if (val.indexOf(parm.charAt(i),0) == -1) return false;
  }
  return true;
}
 
function isNum(parm) {return isValid(parm,numb);}
function isLower(parm) {return isValid(parm,lwr);}
function isUpper(parm) {return isValid(parm,upr);}
function isAlpha(parm) {return isValid(parm,lwr+upr);}
function isAlphanum(parm) {return isValid(parm,lwr+upr+numb);}


Si tu veux qu'un champ ne contienne que des caractères alphabétiques par exemple:
if(isAlpha(document.getElementById('id_champ').value))
Ajouter un commentaire
Réponse
+0
moins plus
Je suis dans le même cas que toi
Ajouter un commentaire
Réponse
+0
moins plus
Eh bin si personne ne se manifeste on va pouvoir monter un club ! En fait il faudrait déjà trouver un équivalent du Trim PHP suffisamment clair et éprouvé... Si tu as une piste Lefouerrant n'hésite pas !
Ajouter un commentaire
Réponse
+0
moins plus
Excuses-moi, je n'avait pas lu correctement ton code, document.getElementById('nom').value c'est un champ de formulaire ? Parce que les champs de formulaire se definnisent comme ça : document.form.nom.value
en sachant que form est le nom de ton formulaire (nom, pas id)
Ajouter un commentaire
Réponse
+0
moins plus
C'est la syntaxe DOM WC3 actuelle il me semble pour sélectionner les éléments. La tienne est tout autant fonctionnelle voire meilleure pour les anciens navigateurs...mais qui utilise encore IE 4 ? Tu peux même "cibler" comme cela: document.forms["NomFormulaire"].elements["NomElement"].focus(); par ex. pour placer le focus.
Ajouter un commentaire
Réponse
+0
moins plus
Merci beaucoup Enax. Je vais aller inclure tout cela et repasserai pour te dire si c'est avec succès !
Ajouter un commentaire
Réponse
+0
moins plus
Bon à vrai dire je ne me suis servi que du "isAlpha", ne maitrisant pas encore certains mécanismes je préfère y aller à mon rythme !

<script type="text/javascript">

function verif_form1()
{

if (!isAlpha(document.getElementById('nom').value))

{
alert ("Veuillez entrer votre nom SVP");
document.forms[0].elements["nom"].focus();
return false;
}

else {
return true;
}
}

j'aimerais avant tout conserver cette forme là pour vérifier les champs...Ne peut-on pas déclarer une variable au sein de la fonction verif du genre : var ch1= /^[A-Z-]+$/i et l'appliquer à certains champs de textes et l'étoffer bien sûr pour vérifier un mail par ex. ? Sans tout chambouler, où pourrait-on déclarer une variable, expression régulière ou chaine de caractères me permettant de conserver cette structure tout en personnalisant chaque champ? Merci à tous pour vos précieux renseignements...car faut que je m'y mette !
Ajouter un commentaire
Réponse
+0
moins plus
C'est tout à fait possible d'utiliser une expression régulière.

Après c'est toi qui voit :
- soit tu crées autant d'expression que nécessaire en les appelant chacune leur tour,
- soit tu crées une seule expression que tu redéfinies avant chaque appel.
La déclaration peut se faire où tu veux avant l'appel, mais le code sera plus clair si c'est au début de ta fonction.

Pour le reste, je te renvoies ici :
http://www.commentcamarche.net/javascript/jsregexp.php3
Ajouter un commentaire
Réponse
+0
moins plus
Ok merci à toi, je vais creuser et digérer tout ça !
Ajouter un commentaire
Ce document intitulé « Champs de Formulaire: vérification javascript » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?