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 :

Plusieurs Input avec controle numérique !


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Points : 388
    Points
    388
    Par défaut Plusieurs Input avec controle numérique !
    bonjour,

    j'utilise cette fonction pour controler que l'unique champs de mon formaulaire (Quantity) soit un numérique et rien d'autre :

    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function checknumber(){
    	var x=document.form_basket.Quantity[].value
    	var anum=/(^\d+$)|(^\d+\.\d+$)/
    	if (anum.test(x))
    		testresult=true
    	else{
    		alert("Entrez uniquement des chiffres")
    		testresult=false
    	}
    	return (testresult)
    }
     
    function checkQte(){
    	if (document.layers||document.all||document.getElementById)
    		return checknumber()
    	else
    		return true
    }

    mon champs :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="Quantity[]" maxlength="3" size="3" value="'.$cat->getQuantity().'"  onChange="return checkQte()">

    Mon probleme est que quand j'ai plusieurs input texte (parce que c'est dans un panier d'achat), il ne controle plus les champs.

    Comment faire pour qu'il puisse controler x champs ?

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Joe Le Mort
    Mon probleme est que quand j'ai plusieurs input texte (parce que c'est dans un panier d'achat), il ne controle plus les champs.

    Comment faire pour qu'il puisse controler x champs ?
    Rajouter le nom du champ comme un paramètre de la méthode:
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function checknumber(nomChamp){
    	var x=document.form_basket.elements[nomChamp].value
    ...

    (même changement dans checkQte, qui est une méthode pas franchement utile, sauf pou la compatiblité avec IE 1.2 Mac ou Netscape 0.9 beta 3....)

  3. #3
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 656
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 656
    Points : 11 153
    Points
    11 153
    Par défaut
    ou transmettre l'objet (this) en paramètre. Cela évitera les
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var x=document.form_basket.Quantity[].value
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    function checknumber(objet)
    {  
       var x = objet.value;
       var anum=/(^\d+$)|(^\d+\.\d+$)/;
       if (anum.test(x))
          testresult=true;
       else
       {
          alert("Entrez uniquement des chiffres");
          testresult=false;
       }
       return (testresult);
    }
     
    function checkQte(objet)
    {  
       if (document.layers||document.all||document.getElementById)  
          return checknumber(objet);
       else  
             return true;
    }

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="text" maxlength="3" size="3" value="'.$cat->getQuantity().'"  onchange="return checkQte(this)">

  4. #4
    Membre averti Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Points : 388
    Points
    388
    Par défaut
    Merci, ca fonctionne au poile Auteur
    Merci aussi à toi denisC

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

Discussions similaires

  1. Input avec plusieurs controles
    Par krapoulos dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/09/2011, 18h57
  2. Input avec plusieurs limitations.
    Par nandofive dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/04/2009, 03h25
  3. Formulaire en plusieurs parties ? (avec controle des erreurs)
    Par fabseven dans le forum Ruby on Rails
    Réponses: 0
    Dernier message: 04/04/2008, 17h23
  4. Générer plusieurs liens avec 1 input et 1 bouton
    Par caillon dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/11/2006, 15h46
  5. Réponses: 2
    Dernier message: 26/04/2006, 16h14

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