[Resolu] Valider formulaire lorsqu'un champ text a atteind 10 chiffres

Valider formulaire lorsqu'un champ text a atteind 10 chiffres [Resolu] - HTML/CSS - Programmation

Marsh Posté le 22-03-2011 à 12:11:22    

Bonjour,
 
j'ai un site sur lequel je dois enregistrer des references grace a une douchette (lecteur de code barre). Sur le site il n'y a qu'un seul champ, dans lequel sera enregistre le code barre. J'aimerais que lorsque le code barre est renseigne dans le champ texte, le formulaire soit envoyer a la page des enregistrements.
 
Voici ce que j'ai fait :
Javascript

Code :
  1. function submit_form() {
  2. if (document.addbadge.badge.length > 9) {
  3.  document.addbadge.submit();
  4. }
  5. }


 
HTML

Code :
  1. <form name="addbadge" method="post" action="index.php">
  2.  ID Badge <input name="badge" type="text" maxlength="10" size="10" onChange="submit_form()" />
  3. </form>


Qu'est ce qui ne va pas dans ce code ?


Message édité par shooker le 23-03-2011 à 12:15:45
Reply

Marsh Posté le 22-03-2011 à 12:11:22   

Reply

Marsh Posté le 22-03-2011 à 14:20:25    

L'evenement OnChange s'execute lorsque l'input text perd le focus, y a t il un moyen pour que ma fonction "submit_form()" s'execute a chaque fois qu'un caractere est entre dans la text box ? (je n'utilise pas de clavier donc impossible d'utiliser OnKeyUp())

Reply

Marsh Posté le 22-03-2011 à 17:16:10    

Si tu n'utilises pas le clavier, qu'est-ce qui modifie la valeur de la text box ?

Reply

Marsh Posté le 23-03-2011 à 09:13:42    

un lecteur de code barre. La textbox prend le focus des l'ouverture du site, on scan un code barre et le formulaire s'envoie automatiquement.

Reply

Marsh Posté le 23-03-2011 à 10:29:12    

si tu n'as pas d'évenement appelé lors du scan du code barre, je vois pas d'autre solution qu'un TimeOut qui vérifie toutes les secondes les changements sur l'input ...

Reply

Marsh Posté le 23-03-2011 à 11:31:29    

Merci pour ces reponses. Qu'entends tu par timeout ? initialiser un timer ?
 
Pourrais tu me donner quelques indications a suivre ?

Reply

Marsh Posté le 23-03-2011 à 12:14:48    

C'est bon j'ai trouve, voici le code javascript :

Code :
  1. function start() {
  2.   if (document.addbadge.badge.value.length > 9) {
  3.    document.addbadge.submit();
  4.   }
  5.   setTimeout("start()",500);
  6.  }
  7.  setTimeout("start()",500);

Reply

Sujets relatifs:

Leave a Replay

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