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 :

Insérer <INPUT> sous condition Jquery


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Par défaut Insérer <INPUT> sous condition Jquery
    bonjour,
    Je suis toujours de niveau initié.
    Voila mon idée, je voudrais construire ce formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <form name="creer_dossier" action="creer_dossier.php" method="POST">
      <label for="civilité" class="label">Civilité</label>
        <select name="titre" id="titre">
          <option value="Mr">Mr</option>
          <option value="Mlle">Mlle</option>
         <option value="Mme">Mme</option>
      </select>
    </form>
    si l'option "Mme" est sélectionnéé, je demande à jquery de m'afficher l' input suivant pour saisir le nom de jeune fille de Mme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nom de jeune fille <input type="text" name="nom_jeune_fille">
    J'ai essayé ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $('#titre').change(function() {
    $('#titre').html('<input type="text" name="nom_jeune_fille">');
    });
    et bien d'autres encore, mais rien ne fonctionne. Je demande de l'aide ! Merci!!!!

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Exemple :

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    .labelNomJeuneFille { display: none; margin-left: 6px; }

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <form name="creer_dossier">
        <label for="civilité" class="label">Civilité</label>
        <select name="titre" id="titre">
            <option value="Mr">Mr</option>
            <option value="Mlle">Mlle</option>
            <option value="Mme">Mme</option>
        </select>
        <label class="labelNomJeuneFille">Nom de jeune fille : <input type="text" name="nom_jeune_fille"></label>
        <input type="submit" value="Go">
    </form>

    Code JS : 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
    $( function(){ // forme abrégée de $(document).ready(function(){
     
        var nomJeuneFille = "inconnu",
            jObjInputNomJeuneFille = $( "input[name='nom_jeune_fille']" ),
            jObjTitre = $( "#titre" );
     
        jObjInputNomJeuneFille.on( "change", function(){
            nomJeuneFille = jObjInputNomJeuneFille.val();
        });
     
        jObjTitre.on( "change", function(){
            var str = jObjTitre.val();
     
            if ( str === "Mlle" || str === "Mme" ){
                $( ".labelNomJeuneFille" ).css( "display", "inline-block" );
                jObjInputNomJeuneFille.focus();
            }
        });
     
        $( "form[name='creer_dossier']" ).on( "submit", function(){
     
            // debug, console, touche F12
            console.log( jObjTitre.val(), nomJeuneFille );
     
            // stop la soumission du formulaire si false
            return false;
        });
     
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Par défaut
    merci pour ta réponse. Peux tu m'expliquer le déroulé du script plus clairement!!

  4. #4
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Par défaut
    j'essaye d'e comprendre.
    Moi, je ne veux pas dans un premier temps que l'imput
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <label class="labelNomJeuneFille">Nom de jeune fille : <input type="text" name="nom_jeune_fille"></label>
    figure dans mon <form>. C'est en sélectionnant l'option "Mme" qu'il doit apparaitre dans le formulaire et seulement à cette condition.

  5. #5
    Membre émérite Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Par défaut
    Bonjour,

    Citation Envoyé par afibase Voir le message
    Moi, je ne veux pas dans un premier temps que l'imput
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <label class="labelNomJeuneFille">Nom de jeune fille : <input type="text" name="nom_jeune_fille"></label>
    figure dans mon <form>.
    C'est le pourquoi du CSS :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    .labelNomJeuneFille { display: none; margin-left: 6px; }

    Dans un premier temps, cet input n'est pas visible.

    =========================================================

    Citation Envoyé par afibase Voir le message
    C'est en sélectionnant l'option "Mme" qu'il doit apparaitre dans le formulaire et seulement à cette condition.
    Ce n'est que lorsque l'option sélectionnée change (événement "change" sur #titre) que cet input est rendu visible :
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    jObjTitre.on( "change", function(){
            var str = jObjTitre.val();
     
            if ( str === "Mlle" || str === "Mme" ){
                $( ".labelNomJeuneFille" ).css( "display", "inline-block" ); // <----- L'input est rendu visible
                jObjInputNomJeuneFille.focus();
            }
        });

    Fred

  6. #6
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Par défaut
    ok j'ai pris note et ça fonctionne merci à tout les 2.
    J'ai cependant rectifié la condition if, afin que le label et l'input soit aligner et visible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ---
    if ( str === "Mme" ) 
    {
    $( ".labelNomJeuneFille" ).css( "display", "inline-block" );
    $( ".Fille" ).css( "display", "inline-block" );
    jObjInputNomJeuneFille.focus();
    }

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

Discussions similaires

  1. Insérer des lignes figées sous condition
    Par Nico Co dans le forum Général VBA
    Réponses: 4
    Dernier message: 21/05/2015, 10h15
  2. [XL-2010] insérer une image sous condition sur plusieurs lignes
    Par jesslab dans le forum Excel
    Réponses: 2
    Dernier message: 06/12/2013, 09h35
  3. comment insérer une image sous condition?
    Par elabadiabdelmoula dans le forum Langage
    Réponses: 8
    Dernier message: 21/02/2013, 12h57
  4. [FPDF] Insérer image sous condition
    Par legrandse dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 08/07/2011, 17h48
  5. [MySQL] parcourir un fichier csv et l'insérer en bdd sous conditions
    Par kairi084 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 08/10/2010, 09h48

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