IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Saisie de caractère


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 88
    Par défaut Saisie de caractère
    Bonsoir,

    Voilà mon problème.
    Je souhaite que lorsque les touches &é"'(-è_çà) soit frappées dans une INPUT box, ça les remplace automatiquement par
    1234567890.

    J'ai saisi ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td class="texte0"> <input name="serie" type="text" id="serie" onkeyup="this.value=this.value.toUpperCase()" value='<?php echo "$num_serie"; ?>'></td>
    Malheureusement j'obtiens :

    Au lieu de :
    Quelqu'un aurait une idée pour m'aider.
    Merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    Malheureusement j'obtiens :
    '(À&À"À'''ÉÀÀ('
    Au lieu de :
    5010304442005
    à quoi correspondent ces chiffres ?

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 88
    Par défaut Réponse
    C'est une saisie faite par une douchette (lecteur code barre).
    Si j'utilise ce lecteur de code barre dans le bloc note en laissant le clavier en saisie minuscule. J'obtiens par exemple :
    (à&à"à'''éàà(

    Si je passe le clavier en majuscule la douchette me donne dans le bloc note :
    5010304442005

    J'ai ce problème avec la saisie dans ma page PHP. J'ai cru bon de forcer en utilisant cette fonction onkeyup="this.value=this.value.toUpperCase()" .

    Sauf que ça ne simule pas vraiment la touche shift ou capslock du clavier puisque ça me donne :
    '(À&À"À'''ÉÀÀ('

    Comptant sur votre aide
    Merci

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Tu n'as pas une documentation ?
    Visiblement avec ce que tu as donné j'en déduis :
    ( 5
    à 0
    & 1
    à 0
    " 3
    à 0
    ' 4
    ' 4
    ' 4
    é 2
    à 0
    à 0
    ( 5

    Le code doit être spécifique à ton matériel, le code affiché n'est pas du code ASCII (ou un masque est appliqué sur le code mais je ne vois pas lequel). Il faut donc réaliser un code qui convertisse chaque caractère en nombre : regarde la documentation du matériel. Visiblement tu n'as que 10 caractères à déchiffrer Et avec l'exemple que tu as donné, tu en as 6 codes qui correspondent à 6 caractères. Il te reste à en trouver 4

    La fonction toUpperCase() met en majuscule les caractères d'une chaine mais ne simule pas les touches shift ou capslock enfoncées.

  5. #5
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    mais nan, ce qu'il dit c'est qu'il veut que son input input prenne les chiffres du clavier (pas le pad numérique, mais les touches au-dessus de la 1ere ligne de lettres) même si on n'est pas en MAJLOCK (pour un clavier azerty).

    il suffit juste de filtrer les caractères entrées :
    - autoriser les chiffres
    - si le caractère entré est "&", "é", """, "'", "(", "-", "è", "_", "ç" ou "à" alors le remplacer par le chiffre correspondant "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"
    - sinon refuser le caractère

    bon, de cette façon ça ne marche que pour le clavier azerty

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 88
    Par défaut Réponse
    Oui c'est bien ça. Le Hic, je ne sais pas faire. Je pensais qu'il exisatit un truc du même genre que Upper case().

    Est-ce que quelqu'un peut m'aider à construire cette fonction spécifique. Je profiterai par cette exemple pour m'instruire un peu dans ce domaine.

    Merci par avance.

  7. #7
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par bigboomshakala Voir le message
    mais nan, ce qu'il dit c'est qu'il veut que son input input prenne les chiffres du clavier (pas le pad numérique, mais les touches au-dessus de la 1ere ligne de lettres) même si on n'est pas en MAJLOCK (pour un clavier azerty).

    il suffit juste de filtrer les caractères entrées :
    - autoriser les chiffres
    - si le caractère entré est "&", "é", """, "'", "(", "-", "è", "_", "ç" ou "à" alors le remplacer par le chiffre correspondant "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"
    - sinon refuser le caractère

    Quel idiot je suis, je n'avais pas fait le rapprochement entre les chiffres et les caractères

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [D7] masque avec restriction de saisi de caractères
    Par raoulmania dans le forum Composants VCL
    Réponses: 5
    Dernier message: 13/12/2005, 07h41
  2. Problème de saisie de caractères
    Par XantaX dans le forum Assembleur
    Réponses: 3
    Dernier message: 07/12/2005, 15h37
  3. CComboBox::Limiter la Saisie des caractères
    Par bizulk dans le forum MFC
    Réponses: 6
    Dernier message: 13/09/2005, 15h42
  4. [VB.NET] Empecher la saisie de caractère spéciaux
    Par bloody22 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 28/07/2005, 11h09
  5. Saisie du caractère '@' ?
    Par ravelo dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/06/2004, 16h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo