[JavaScript] Condition sur n champ d'une form

Fermé
afrodje Messages postés 759 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 22 janvier 2014 - 8 nov. 2008 à 16:06
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 15 déc. 2008 à 23:59
Bonjour,

J'ai un formulaire avec uniquement des champs, qui comporte uniquement des entiers.
Ces champs doit être une suite de nombres :
Par exemple, dans 6 textbox, il y aura: 5-6-3-1-2-4

Je veux avoir un contrôle en javascript que quand on saisie 2 nombres identiques (5-1-3-5-6-2-4), qu'un texte apparaissent.
Ou alors que quand il manque en nombre : 5-1-6-2-4.

Avez vous un cours, un code source, des fonctions que vous utiliser pour ce problème?

Merci


2 réponses

1000101 et plus si affinité ;)

Désolé mais j'ai pas pu résister, vive le binaire :D

Pour ton problème je ne sais pas, je n'ai pas fait de javascript mais je pense que ca ne doit pas être très compliqué, une personne t'aideras rapidement ;)

P.S : Code antispam : I HOT ...c'est ma journée !
0
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 329
15 déc. 2008 à 23:59
Bonsoir Afrodje,
C'est effectivement possible de faire ce contrôle en javascript.
Tout d'abord, le faire à la volée (pendant que tu tapes dans le formulaire), ce n'est pas possible. La vérification ne pourra être faite que sur la levée de l'évènement onChange (dans le meilleur des cas), c'est-à-dire quand tu tapes ton texte puis que :
- tu appuies sur Enter
- tu appuies sur Tab
- tu cliques à l'extérieur de ton champ
- ...

En ce qui concerne le javascript, voici comment il faut procéder :
- tu récupères la valeur de ton textfield
- tu utilises la fonction split sur cette valeur (ça a pour effet de te retourner un tableau contenant tous les entiers tapés, que je note t)
- tu regardes la longueur de ton tableau (que je noterai n)

Primo, pour détecter si 2 nombres sont identiques, moi je ferais :
- je crée un tableau t2 de taille n, initialisé à 0
- je parcours t (je note mon itérateur i), et j'incrémente t2[t[i]] (si t2[t[i]] dépasse 1, c'est qu'il y a une valeur au moins en double)

Secundo, pour détecter les valeurs manquantes
- je parcours mon tableau t2 précédemment créé
- chaque valeur v pour laquelle t2[v] égal 0 est une valeur manquante

Essaie d'écrire le code toi-même. Si tu as des problèmes tu peux me relancer (je n'ai pas le temps ce soir mais je pourrai voir ça un de ces jours).

Cordialement,
0