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 :

cacher un bouton tant que les input ne sont pas remplis


Sujet :

jQuery

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Points : 7
    Points
    7
    Par défaut cacher un bouton tant que les input ne sont pas remplis
    BONJOUR, A TOUS,
    jai un formulaire et je souhaiterais cacher le bouton tant que tout les champs ne sont pa remplis! etant debutant j'ai tout d'abord essayer les controle de saisi mais sans succes alors je voudrais cacher le bouton tant que tout les input ne sont pas renseigner


    voici le code

    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
    29
    30
    31
        <form action="DB_adddetailtournee.php" method="post" name="loaddetailDarkBox">
        <input name="NUM_TOU" type="hidden" value="<? echo $_REQUEST["NUM_TOU"];?>"/>
        <tr><td colspan=2>Ajouter une nouvelle étape</td></tr>
        <tr><td class=colname>Contrat</td><td class=dataleft>
        <div>
           <div>
              <input name="NUM_DOS" type="hidden" id="inputNUM_DOS"/>
              <input  name="NEW_NUM_DOS" size="30" id="inputString" onKeyUp="lookup(this.value);" type="text" /><span class="error-message"></span>
           </div>      
           <div class="suggestionsBox" id="suggestions" style="display: none;">
              <img src="upArrow.png" style="position: relative; top: -12px; left: 30px" alt="upArrow" />
              <div class="suggestionList" id="autoSuggestionsList"></div>
           </div>
       </div>
       <?
       }
       ?>
       </td></tr>
        <tr>
          <td class=colname>Numéro étape</td><td class=dataleft><input name="NUM_ETAPE" type="text" value=""/></td></tr>
        <tr valign="top"><td class=colname>Adresse de visite:</td><td class=dataleft>
        <div id="select_adresse_locataire">
        <SELECT name="REF_ADR_LOC" id="REF_ADR_LOC"><option value=""></option> 
        </div></select><span class="error-message"></span>
        </td></tr>    
        <tr><td class=colname>date étape</td><td class=dataleft><input name="DATE_ETAPE" type="text"  value="<?echo $ligne["DD_TOU"];?>"/><!--<IMG style="CURSOR: hand" onclick  ="popUpCalendar(this, document.loaddetailDarkBox.DATE_ETAPE,'dd/mm/yyyy');return false;" alt="Pick a Date" src="img/ew_calendar.gif" >--></td></tr>
        <tr><td class=colname>Commentaire</td><td class=dataleft><textarea name="COMM_ETA" cols="70" rows="5"></textarea><br>
        <input name="ajout_detailtournee" id="ajout_detailtournee" type="submit" class="button" value="Enreg." />
        <input type="submit" class="Close" name="Close"value="Annuler" />
        </td></tr>
        </form>

  2. #2
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Points : 286
    Points
    286
    Par défaut
    Salut, je pense la solution suivante marche, après ce n'est pas forcément la plus propre ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    $(document).ready(function() {
        $("input").change(function() {
            // Action s'exécutant des qu'une valeur de tes inputs est changées
            var estRempli = true;
            $.each($("input[type='text']"),function() {
                if ($(this).val() == "") {
                    estRempli = false;
                }
            });
            $("input[type='submit']").show(estRempli);
        });
    });
    En tout cas la logique est la : tu met un evenement sur tous tes champs, et à chaque fois que l'un est modifié tu vérifie s'ils sont tous remplis. Dans ce cas, tu affiche le bouton, dans le cas contraire tu le cache.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    je n'arrive pas a trouver le traitment qui corresspond aurais tu une Idee

  4. #4
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Points : 286
    Points
    286
    Par défaut
    ?? je ne comprends pas ce que tu as dit ....

    je t'ai donné une solution, de quel traitement parles tu ?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    non non je me suis tromper ! de message. Oui jai effectuer la modif mais sur les inputs je met des evenement onChange="true" ??

  6. #6
    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 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 638
    Points : 66 667
    Points
    66 667
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $("input[type='submit']").show(estRempli);
    show n'accpete pas de boolean en paramètre ...
    il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(estRempli){ $("input[type='submit']").show();}
    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 !

  7. #7
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Points : 286
    Points
    286
    Par défaut
    non le onchange est effectué ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
        $("input").change(function() {
            // ....
        }
    donc rien besoin de rajouté dans ton code html

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    malheuresement je vois toujours mes bouton alors que je nais encore rien saisi !!! merci pour tous deja

  9. #9
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Points : 286
    Points
    286
    Par défaut
    oui il faut l'exécuter une fois d'abord :

    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
     
    $(document).ready(function() {
        updateBouton();
        $("input").change(function() {
            updateBouton();
        });
    });
     
    function updateBouton() {
        var estRempli = true;
        $.each($("input[type='text']"),function() {
            if ($(this).val() == "") {
                estRempli = false;
            }
        });
        $("input[type='submit']").show(estRempli);
     
    }

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    pour compléter, tu peux très bien avoir des input et des select (listes déroulantes), dont certains sont obligatoires et d'autres non obligatoires.
    Tu peux donc mettre une class="obligatoire" sur ceux que tu veux voir remplis obligatoirement :
    Code html : 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
    <input class="obligatoire" name="blabla" type="text" value=""/>
    ...
    <select class="obligatoire" ...>
    	<option value="">...</option>
    	...
    </select><form method="post" action="#">
    <p>(obligatoire) * :<input class="obligatoire" name="blabla" type="text" value=""/></p>
    <p>(facultatif :<input name="blabla2" type="text" value=""/></p>
    <p>(obligatoire) * :<input class="obligatoire" name="blabla3" type="text" value=""/></p>
    <p>(obligatoire) * :<select class="obligatoire" name="blabla4">
    	<option value="">...</option>
    	<option value="1">option 1</option>
    	<option value="2">option 2</option>
    </select>
    </p>
    <p>(facultatif) :<select name="blabla5">
    	<option value="">...</option>
    	<option value="11">option 12</option>
    	<option value="22">option 22</option>
    </select>
    </p>
    <p><input type="submit" class="button" name="submit1" value="Enregistrer" /></p>
    <p><input type="submit" class="Close" name="submit2" value="Annuler" /></p>
    </form>
    et tester via :
    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
    $(document).ready(function() {
        /* on cache D'ABORD le BOUTON SUBMIT */
        $("input[type='submit']").hide();
        /* on teste les champs obligatoires */
        $(".obligatoire").change(function() {
            // Action s'exécutant des qu'une valeur de tes inputs est changées
            var estRempli = true;
            /* tous les champs obligatoires doivent être remplis (sinon -> false) */
            $(".obligatoire").each(function() {
                if ($(this).val() == "") {
                    estRempli = false;
                }
            });
            if(estRempli){ $("input[type='submit']").show(); }
    		else{ $("input[type='submit']").hide(); }
        });
    });
    Dernière modification par Invité ; 13/02/2012 à 17h38.

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    dommage maintenant mon bouton ne se remet pas kan je rentre tous les champs

  12. #12
    Invité
    Invité(e)
    Par défaut
    Ligne 8 (corrigée) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            $(".obligatoire").each(function() {
    Sinon, montre-nous TON code.

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    je ne peux pas le montrer car je ne suis plus en stage, mais demain je le montrais.
    je souhaiterais savoir s'il est possible de déclencher le script que quand on click sur un lien ??

  14. #14
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Points : 286
    Points
    286
    Par défaut
    oui c'est possible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $("#id_de_mon_lien").click(function() {
        $("input[type='submit']").show();
        return false; // pour ne pas faire la redirection
    });
    Je pense que tu devrais lire des tutos sur jQuery, on peut tout faire et c'est très facile, et tu gagnerais énormément de temps plutot que de demander toujours sur les forums ....

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    je te remercie j'ai beaucoup appris et merci pour les reponse

Discussions similaires

  1. [WD-2010] [Signets et remplissage par UserForm] Les signets ne sont pas remplis
    Par GSchaffter dans le forum VBA Word
    Réponses: 9
    Dernier message: 06/02/2015, 09h30
  2. Pas d'action, tant que le formulaire n'est pas rempli
    Par Alvastar dans le forum Langage
    Réponses: 12
    Dernier message: 22/04/2014, 22h16
  3. Réponses: 0
    Dernier message: 09/11/2010, 11h01
  4. tant que les autres paient
    Par Matthieu2000 dans le forum Politique
    Réponses: 13
    Dernier message: 29/10/2009, 10h53
  5. [WS 2008] Comment cacher le bouton arrêter pour les utilisateurs dans TS
    Par keks06 dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 18/08/2009, 18h53

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