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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS]Champs ne devant contenir que des chiffres.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JS]Champs ne devant contenir que des chiffres.

n°2078820
tuxbleu
renie ses origines
Posté le 28-05-2011 à 00:06:45  profilanswer
 

Je cherche à n’autoriser que la saisie de chiffres dans un input
 
Si je fais ca, ca marche, mais "shift+&" n'affiche pas 1, ca affiche rien. Je suis donc sur d'avoir que des chiffres, mais ya des gens qui n'arrivent pas à saisir de chiffres, c'est donc trop restrictif.
 

// Prevent shift key since its not needed
    if (event.shiftKey == true) {
        event.preventDefault();
    }
    // Allow Only: keyboard 0-9, numpad 0-9, backspace, tab, left arrow, right arrow, delete
    if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46) {
  // Allow normal operation
    } else {
        // Prevent the rest
        event.preventDefault();
    }


 
Si par contre, je fais ca, je peux saisir shift+&, ca fait 1, mais malheureusement aussi &, et la ca affiche "&", donc là c'est pas assez restrictif

// Prevent shift key since its not needed
     
    // Allow Only: keyboard 0-9, numpad 0-9, backspace, tab, left arrow, right arrow, delete
    if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46) {
  // Allow normal operation
    } else {
        // Prevent the rest
        event.preventDefault();
    }


Une idée ?


Message édité par tuxbleu le 28-05-2011 à 00:14:23

---------------
Mon topic de vente - Mon feed-back
mood
Publicité
Posté le 28-05-2011 à 00:06:45  profilanswer
 

n°2078832
GordonF_69
Posté le 28-05-2011 à 01:40:38  profilanswer
 

Regarde comment j'ai fait la : http://www.worldcraft-online.com/worldcraft3.php?l=fr
 
function changemapname(x)
 
je l'utilise pour le nom de la carte dans "Parametres de la map"

n°2078980
tuxbleu
renie ses origines
Posté le 29-05-2011 à 22:37:44  profilanswer
 

GordonF_69 a écrit :

Regarde comment j'ai fait la : http://www.worldcraft-online.com/worldcraft3.php?l=fr
 
function changemapname(x)
 
Je l'utilise pour le nom de la carte dans "Parametres de la map"


 :jap:  
Je vais gratter ça demain.


---------------
Mon topic de vente - Mon feed-back
n°2078981
tuxbleu
renie ses origines
Posté le 29-05-2011 à 22:46:58  profilanswer
 

Tu crois que je peux adapter ça pour un contrôle sur direct à la frappe ?  
Moi faut que je parte de "event" non ?
Faut que je trouve un "event.caractère, ou un truc du genre.
Ya une liste quelque part des méthodes disponibles pour les events ?


---------------
Mon topic de vente - Mon feed-back
n°2078997
GordonF_69
Posté le 30-05-2011 à 08:03:10  profilanswer
 

Mon event est fait comme cela :
 
<input type="text" onkeyup="changemapname(this)" id="inputmapname" maxlength="30">
 
Des que qqn relache une touche du clavier dans le champ, ca lance la fonction.

n°2079070
gatsu35
Blablaté par Harko
Posté le 30-05-2011 à 11:25:31  profilanswer
 

sur l'idée de changemapname et fonctionnel :
http://jsfiddle.net/pzG7p/

 

lors du "keyup" je remplace la valeur du champ en supprimant tous les caractères qui ne sont pas des chiffres

Message cité 2 fois
Message édité par gatsu35 le 30-05-2011 à 11:26:02

---------------
Blablaté par Harko
n°2079144
tuxbleu
renie ses origines
Posté le 30-05-2011 à 15:05:17  profilanswer
 

gatsu35 a écrit :

sur l'idée de changemapname et fonctionnel :  
http://jsfiddle.net/pzG7p/
 
lors du "keyup" je remplace la valeur du champ en supprimant tous les caractères qui ne sont pas des chiffres


 :love:  
J'adore l'interface :)
 
Pour rester homogène avec le reste de mon code, j'ai voulu essayer d'adapter cela :  
 

$("#monchampsamoi" ).keyup(function (event) {
    console.log(event);
    event.value = event.value.replace(/[^0-9]/g,'');
});


 
Mais ca doit pas se faire comme ça  :sweat:


---------------
Mon topic de vente - Mon feed-back
n°2079157
gatsu35
Blablaté par Harko
Posté le 30-05-2011 à 15:34:34  profilanswer
 

non ca marche pas comme ça.
event est un objet avec tout un tas de parametre, mais ça n'est pas ton champ.
 
Dans ton cas, ton champ c'est par this que tu le tapes

Code :
  1. this.value = this.value....


ou par event.target
 
event.target.value = event.target.value......


---------------
Blablaté par Harko
n°2079217
tuxbleu
renie ses origines
Posté le 30-05-2011 à 17:29:40  profilanswer
 

gatsu35 a écrit :

non ca marche pas comme ça.
event est un objet avec tout un tas de parametre, mais ça n'est pas ton champ.
 
Dans ton cas, ton champ c'est par this que tu le tapes

Code :
  1. this.value = this.value....


ou par event.target
 
event.target.value = event.target.value......


merci de l'info  :jap:  
 
Je vais essayer ca :)
 
Avant que je ne crée un thread exprès pour ça, j'essaie de personnaliser une "rules" JQuery.
Vous savez si c'est possible d'écrire soit même sa rule ?
La mienne en l’occurrence, elle doit tester la valeur de 3 autres champs, faire des calcules avec et vérifier que le résultat est en concordance avec ce qui a été saisie.


---------------
Mon topic de vente - Mon feed-back
n°2080249
tuxbleu
renie ses origines
Posté le 03-06-2011 à 15:57:39  profilanswer
 

gatsu35 a écrit :

sur l'idée de changemapname et fonctionnel :  
http://jsfiddle.net/pzG7p/
 
lors du "keyup" je remplace la valeur du champ en supprimant tous les caractères qui ne sont pas des chiffres


 
Erreur sur IE avec ce code :

"Console" est indéfini


:(


---------------
Mon topic de vente - Mon feed-back
mood
Publicité
Posté le 03-06-2011 à 15:57:39  profilanswer
 

n°2080257
gatsu35
Blablaté par Harko
Posté le 03-06-2011 à 16:37:05  profilanswer
 

Tu prendrais soin de lire le code qu'on te donne, et tu verrais que console.log est une ligne de debug


---------------
Blablaté par Harko
n°2080295
tuxbleu
renie ses origines
Posté le 03-06-2011 à 19:09:29  profilanswer
 

gatsu35 a écrit :

Tu prendrais soin de lire le code qu'on te donne, et tu verrais que console.log est une ligne de debug


 :sweat:  
désolé :(


---------------
Mon topic de vente - Mon feed-back

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

  [JS]Champs ne devant contenir que des chiffres.

 

Sujets relatifs
Formulaire PHP avec test champs videsCalculer somme des champs d'un formulaire
Comparaison de deux tables sur deux champsRécupérer la dernière version des champs
[Perl / JS] [contourné] récupérer le contenu d'une variable JSEXCEL VBA - Ne garder que les chiffres d'une cellule
[Resolu] Valider formulaire lorsqu'un champ text a atteind 10 chiffresComment utiliser les champs cachés ?
Recuperer un champs après un insert et barrer la BD[JS] Jquery UI Drag&Drop de cellules dans un tableau
Plus de sujets relatifs à : [JS]Champs ne devant contenir que des chiffres.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR