Vérifier l'un ou l'autre

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érifier l'un ou l'autre

par rspir » 17 août 2006, 08:46

C'est parfait

Merci

par faber8 » 14 août 2006, 10:19

Tu peux utiliser cette méthode :

Code : Tout sélectionner

function validateForm(form) { var test_ok = 0; if (NotEmpty(form.codag) ) { if (isNum(form.codag)) { if (isLen5(form.codag)) { test_ok = 1; } } } } if (NotEmpty(form.nomag) ) { test_ok = 1; } if (test_ok == 1) { return true; } else { return false; } }

Vérifier l'un ou l'autre

par rspir » 12 août 2006, 22:25

Bonjour

Je voudrais améliorer un script que j'ai récupéré.
J'utilise ce script sur le "on submit" de mon formulaire pour vérifier la saisie des données.
Pour le moment,ce script vérifie qu'un champ code est saisi, qu'il est en numérique et sur 5 caractères.

ce que je voudrais c'est qu'il fasse ceci :

1. Il regarde si le champ code OU le champ agence est saisi : sinon arret (il me faut au moins l'un des 2 pour lancer une recherche dans ma bdd ou les 2)
2. Si le champ code est saisi alors il regarde si il est numérique et sur 5 caractères.

Pour le moment, je n'arrive ni à gérer le OU ni à ne tester le numérique et la longueur que quand le champ est saisi.

Voici le code actuel :

Code : Tout sélectionner

function validateForm(form) { if (NotEmpty(form.codag) ) { if (isNum(form.codag)) { if (isLen5(form.codag)) { return true; } } } return false; } function NotEmpty(elem) { var str = elem.value; var re = /.+/; if(!str.match(re)) { alert("Le champ code est indispensable à la recherche"); setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); return false; } else { return true; } } function isNum(elem) { var str = elem.value; var re = /^[-]?\d*\.?\d*$/; str = str.toString(); if (!str.match(re)) { alert("Veuillez saisir des chiffres dans le champ code"); setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); return false; } return true; } // Vérifie si un champ contient 5 caractères function isLen5(elem) { var str = elem.value; var re = /\b.{5}\b/; if (!str.match(re)) { alert("Le codes est sur 5 caractères. Rajouter des 0 devant si nécessaire."); setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); return false; } else { return true; } } function focusElement(formName, elemName) { var elem = document.forms[formName].elements[elemName]; elem.focus(); elem.select(); }