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

jQuery Discussion :

Contrôle de présence et valeur des variables dans un form


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2018
    Messages : 10
    Par défaut Contrôle de présence et valeur des variables dans un form
    Hello,

    je suis confronté à un dysfonctionnement dans ce code.
    J'ai un form avec 3 champs associés à un attribut data-max :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input class="form-control" type="number" id="sst1" name="sst1" data-max="<?php echo (int)$sst1 ; ?>">

    Je teste ensuite la présence et la valeur des 3 champs comme ceci :
    Code : 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
    23
    24
    25
    26
    27
    28
                    var sst1Value = $('#sst1').val();
                    var sst2Value = $('#sst2').val();
                    var sst3Value = $('#sst3').val();
     
     
                    // Si les valeurs sont absentes ou toutes nulles sinon erreur
                    if ((!sst1Value && !sst2Value && !sst3Value) || (sst1Value == 0 && sst2Value == 0 && sst3Value == 0)) {
                        alert('Veuillez entrer une quantité !');
                        return false;
                    }
                    // vérif des valeurs entrées
                    var enteredSst1 = $('#sst1').val();
                    var enteredSst2 = $('#sst2').val();
                    var enteredSst3 = $('#sst3').val();
     
                    // vérif si les valeurs ne dépassent pas le max disponible par POS
                    var maxValueSst1 = $('#sst1').attr('data-max');
                    var maxValueSst2 = $('#sst2').attr('data-max');
                    var maxValueSst3 = $('#sst3').attr('data-max');
                    // si l'une d'elles est trop grande : erreur
                    if ((enteredSst1 > maxValueSst1) || (enteredSst2 > maxValueSst2) || (enteredSst3 > maxValueSst3)) {
     
                        console.log(maxValueSst1, '->max1 ; ',maxValueSst2, '->max2 ; ',maxValueSst3, '->max3')
                        console.log(enteredSst1, '->enter1 ; ',enteredSst2, '->enter2 ; ',enteredSst3, '->enter3') 
     
                        alert('Une des valeur saisies est supérieure au stock disponible sur le dépôt correspondant');
                        return false;
                    }
    Mes variables semblent correctes dasn la console et je ne comprends donc pas pourquoi cela dysfonctionne.

    10 ->max1 ; 10 ->max2 ; 10 ->max3
    2 ->enter1 ; 2 ->enter2 ; 2 ->enter3

    Comme dans beaucoup de choses je suis novice en JS/JQUERY et je vous remercie de l'aide que vous pourrez m'apporter.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    si tu veux comparer deux valeurs, nombres plus exactement, entre eux il te faut récupérer des nombres donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var sst1Value = parseFloat($('#sst1').val());
    si non tu compares deux chaines de caractères.

    Tu peux également te servir de l'attribut min/max des <input type="number">.

  3. #3
    Membre averti
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2018
    Messages : 10
    Par défaut
    Ah ben je ne connaissais pas cette subtilité. Je vais me documenter.
    Et oui, en effet, j'aurais du penser au MIN et MAX pour l'input.

    Je garde tout ça en mémoire et je te remercie du temps que tu m'as accordé.
    Bon week end à toi

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 08/05/2017, 15h59
  2. Réponses: 2
    Dernier message: 08/10/2010, 11h15
  3. Réponses: 1
    Dernier message: 26/05/2010, 15h34
  4. [Debutant][Système]Récupérer la valeur des variables systeme
    Par cameleon2002 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 16/02/2007, 09h57
  5. Réponses: 13
    Dernier message: 21/09/2005, 15h39

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