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 :

Tester valeur submit


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 46
    Par défaut Tester valeur submit
    Bonjour à tous,

    je souhaite vérifier la valeur d'un submit contenu dans une div (qui apparaît selon les besoins) elle même contenue dans un formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    function test1(s){
     
                            if(document.laform.s.value  > 15){
     
                                alert("non");
                                return false;
     
                            }				
                        }
    Le submit est contenu dans cette div :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <div id="div_1" name="div_1" style="display:none" >
     
    		    <label>Nombre de sommets:</label>
    	            <input type="text" id="s" name="s" value="4" onclick="test1(this);">
     
    </div>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    if(SelValue=="etoile"  )
               {
     
                       document.getElementById('div_1').style.display = 'block';
     
     
     
               }
                   else{
                        document.getElementById('div_1').style.display ='none';
     
                    }

    Cela fait deux jours que je suis dessus je n'obtiens aucun affichage. Pourriez-vous m'aider s'il vous plaît?

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div id="div_1" name="div_1" style="display:none" >
     
    		    <label>Nombre de sommets:</label>
    	            <input type="text" id="s" name="s" value="4" onclick="test1(this);">
     
    </div>
    il n'y a pas de submit dans ton div ...
    il y a un input ...



    tu passes this en param de la fonction ...
    teste sa value dans la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function test1(s){
     
                            if(s.s.value  > 15){
     
                                alert("non");
                                return false;
     
                            }				
                        }
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 46
    Par défaut
    Merci de répondre aussi rapidement!

    Oui en effet il s'agit d'un input

    je viens de tester votre solution mais cela ne fonctionne pas :S

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 46
    Par défaut
    Finalement j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    function test1(s){
     
     
     
            if(document.getElementById('s').value > 15){
     alert("non");
    return false;
            }
     
     
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <div id="div_1" name="div" style="display:none" >
     
    		    <label>Nombre de sommets:</label>
    	            <input type="text" id="s" name="s" value="4" onchange="test1(this);">
     
    </div>
    losrque je clic ailleurs l'alerte s'affiche, mais lorsque je reclic sur le bouton valider le formulaire passe...

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Désolé une coquille s'est glissée dans mon code précédent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function test1(s){
                             if(s.value  > 15){
                                 alert("non");
                                return false; 
                            }				
                        }
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 46
    Par défaut
    Pas de problème!

    Auriez-vous une solution pour que ma fonction soit valable pour plusieurs tentatives?

    Car à la première saisie, un alert s'affiche et je reste sur la page du formulaire mais si je reclic sur le bouton valider ma condition n'est plus valable.

  7. #7
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Citation Envoyé par sarafati Voir le message
    losrque je clic ailleurs l'alerte s'affiche, mais lorsque je reclic sur le bouton valider le formulaire passe...
    C'est normal que le onchange se produise seulement lorsque tu cliques à côté, car c'est comme ça que fonctionnent les onchange. Si tu veux parer à toutes les situations, tu dois rajouter un onkeyup qui fait la même chose, mais à ce moment-là retire les alert, sinon ça sera très perturbant pour l'utilisateur.

    De plus, le return false à cet endroit ne sert à rien. Si tu veux empêcher la soumission du formulaire, il faut renvoyer false dans une fonction onsubmit. Dans l'idéal, tu devrais faire deux choses :
    • vérifier les champs en temps réel avec onchange + onkeyup, dans le seul but de donner un retour visuel à l'utilisateur ;
    • vérifier les champs au moment du onsubmit, cette fois-ci pour empêcher la soumission si les champs sont incorrects.


    Et n'oublie pas qu'une protection JavaScript peut toujours être contournée, il faut donc vérifier les données côté serveur aussi.

    Au fait, le name sur la <div> est inutile (voir element.name).
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  8. #8
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 46
    Par défaut
    C'est génial ça fonctionne!
    Merci beaucoup pour votre explication détaillée!

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

Discussions similaires

  1. ksh intercepter/tester valeur code touche
    Par jadey dans le forum Linux
    Réponses: 2
    Dernier message: 28/10/2008, 13h14
  2. Tester valeur null dans une requête sql
    Par bobosh dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 31/07/2008, 13h07
  3. expect + tester valeur de retour d'un script
    Par dr_octopus74 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 30/04/2007, 16h12
  4. Tester valeur est numérique
    Par hugo123 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 25/09/2006, 13h59

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