Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1824 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  saisie de chiffre et focus

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

saisie de chiffre et focus

n°1174484
kenji_lol
Pas de bras pas de chocolat !!
Posté le 11-08-2005 à 12:23:39  profilanswer
 

Salut à tous,  :hello:  
 
J'aimerai que l'utilisateur soit obliger de rentrer que des chiffres et qu'on bout de deux chiffre que ca passse auto à l'input suivant.
Voici ce que j'ai fais :

Code :
  1. <form name=form >
  2. <table boder=1 >
  3. <tr><td> 1
  4.   <script>
  5.   function NbChar(This,IdInput)
  6.   {
  7.       if(isNaN(document.forms[0].elements[This].value))
  8.         alert("entrer chiffre" );
  9.       else if(document.forms[0].elements[This].value.length==2)
  10.            document.forms[0].elements[IdInput].focus()
  11. }
  12.     </script>
  13. <input type=text size=1 maxlength=2 id="Algo1"  onkeypress="NbChar('Algo1','Algo2')"></td>
  14. <td>2
  15. <input type=text size=1 maxlength=2 id="Algo2" onkeypress="NbChar('Algo2','Algo3')"></td>
  16. <td> 3
  17. <input type=text size=1 maxlength=2 id="Algo3"  onkeypress="NbChar('Algo3','Algo4')"></td>
  18. <td> 4
  19. <input type=text size=1 maxlength=2 id="Algo4"></td>
  20. </tr>


 
Alors si j'entre des chiffres pas de probleme cela fonctionne correctement.
Par contre à la saisie de lettre cele se complique. Dans un premier temps je tape une lettre il ne reagis meme pas il ne s'en aprecoit qu'a la saisie de la 2eme.
Mais ce que je voudrais faire c'est que si l'util essaie d'entrer une lettre il ne peut pas (mais qu'en fait ca bloque la touche que celle ci ne s'affiche meme pas!!)
 
Donc si quelqu'un connait un truc ou alors si mon code est bencale...
Merci d'avance :)  
 
 </table>

mood
Publicité
Posté le 11-08-2005 à 12:23:39  profilanswer
 

n°1174504
xtof_83
Freeride Spirit
Posté le 11-08-2005 à 12:37:50  profilanswer
 

Ben à la place de faire un alert("pas un nombre" )
 
Tu fais :
document.forms[0].elements[This].value="";
ou un truc de ce style là.

n°1174517
kenji_lol
Pas de bras pas de chocolat !!
Posté le 11-08-2005 à 12:49:39  profilanswer
 

oui je sais, desole, mais en fait l'alert est là juste pour mes test mais, ce que je voudrai ce n'est pas effacer le champs, ce serait en gros : si c'est un chiffre autoriser l'affichage, sinon ne pas afficher (meme pas pour l'effacer juste derriere)
 
j'espère que c'est comprehensible..

n°1174518
xtof_83
Freeride Spirit
Posté le 11-08-2005 à 12:53:03  profilanswer
 

Oui comprendo... :lol: vais réfléchir plus précisement...

n°1174520
xtof_83
Freeride Spirit
Posté le 11-08-2005 à 12:55:33  profilanswer
 

Tous con...
Si NAN ben return false...

n°1174522
karoli
Posté le 11-08-2005 à 12:56:12  profilanswer
 

sinon pour que ca agisse des la premiere saisie, l'evenement c'est onkeyup plutot que onkeypress...
 
sur on keypress, ton champ est vide puisque tu appelles la fonction en appuyant sur la touche, avant de connaitre sa valeur

n°1174524
kenji_lol
Pas de bras pas de chocolat !!
Posté le 11-08-2005 à 13:00:18  profilanswer
 

alors si ca peut t'aider j'ai trouver un script qui fait exactement ce que je veux voila le code :  

Code :
  1. <script>
  2. function codeTouche(evenement)
  3. {
  4.         for (prop in evenement)
  5.         {
  6.                 if(prop == 'which') return(evenement.which);
  7.         }
  8.         return(evenement.keyCode);
  9. }
  10. function scanTouche(evenement)
  11. {
  12.         var reCarValides = /\d/;
  13.         var codeDecimal  = codeTouche(evenement);
  14.         var car = String.fromCharCode(codeDecimal);
  15.         var autorisation = reCarValides.test(car);
  16.         return autorisation;
  17. }
  18. </script>
  19. <input type=text name=Algo size=5 maxlength=5 onKeyPress="return scanTouche(event);">


 
Mais étant super novice en javascript j'ai compris à moitieé (voir un peu moins) le code,
et je n'ai pas reussi à l'adapter.
C'est à dire ce code là + le changement de focus
si ca peut t'aider et moi même temps

n°1174525
kenji_lol
Pas de bras pas de chocolat !!
Posté le 11-08-2005 à 13:01:02  profilanswer
 

karoli a écrit :

sinon pour que ca agisse des la premiere saisie, l'evenement c'est onkeyup plutot que onkeypress...
 
sur on keypress, ton champ est vide puisque tu appelles la fonction en appuyant sur la touche, avant de connaitre sa valeur


 
oki merci du renseigenment

n°1174526
karoli
Posté le 11-08-2005 à 13:01:37  profilanswer
 

plus simple...en plus du onkeyup :
 

Code :
  1. function NbChar(This,IdInput)
  2.   {
  3.       if(isNaN(document.forms[0].elements[This].value)) {
  4.         var ExChaine= document.forms[0].elements[This].value ;
  5.         document.forms[0].elements[This].value=ExChaine.substring(0,ExChaine.length - 1);
  6.       }
  7.       else if(document.forms[0].elements[This].value.length==2)
  8.            document.forms[0].elements[IdInput].focus()
  9. }

n°1174546
kenji_lol
Pas de bras pas de chocolat !!
Posté le 11-08-2005 à 13:38:42  profilanswer
 

merci :jap:  karoli c'est presque ca mais avec onkeypress la premiere lettre reste et onkeyup la lettre s'efface mais comment faire pour que la lettre ne s'affiche pas du tout ??

mood
Publicité
Posté le 11-08-2005 à 13:38:42  profilanswer
 

n°1174555
kenji_lol
Pas de bras pas de chocolat !!
Posté le 11-08-2005 à 13:47:09  profilanswer
 

bon alors j'ai trouvé une parade j'utilise les deux comme ca  :D  

Code :
  1. <input type=text size=1 maxlength=2 id="Algo1"  onkeyup="NbChar('Algo1','Algo2')" onkeypress="return scanTouche(event);"></td>


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  saisie de chiffre et focus

 

Sujets relatifs
Excel, saisie semie automatique à partir d'une autre feuille[Resolu]macro suite a une saisie clavier
zone de saisie active par défautfaire correspondre un nom à un chiffre
[ACCESS] recupérer champ saisie entre 2 formulairese placer dans un cadre de saisie sans cliquer sur la souris
Saisie au clavier dans le paneau écran d'appletProblèmes avec un chiffre à virgule [résolu]
Mettre le Focus entre 2 balisessaisie de chaine au clavier sans affichage de celle ci??
Plus de sujets relatifs à : saisie de chiffre et focus


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)