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 :

Copier un input dans plusieurs autres


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Copier un input dans plusieurs autres
    Bonsoir,

    J'ai un formulaire à remplir pour saisir des données de formation.
    à 95% du temps les données sont identiques.

    J'aimerai donc pouvoir remplir que la première ligne et en cliquant sur un bouton pouvoir recopier ces données dans tous les autres input du formulaire.

    Voiçi mon 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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    <form method="post" id="modif-cours" action="">
    <p>
     
    <input class="send" type="button" value="Copier la première ligne sur les autres" />
     
    <table class="liste_com">
    	<tr>
    		<td class="titre_liste_com">Nom</td>
    		<td class="titre_liste_com">Prénom</td>
    		<td class="titre_liste_com">Date</td>
    		<td class="titre_liste_com">Formateur</td>
    	</tr>
     
    	<tr>
    		<td class="liste_com"><input type="hidden" name="id_0" value="14" />
    		<input type="hidden" name="id_cours" value="4" />Nom 1</td>
    		<td class="liste_com">Prénom 1</td>
    		<td class="liste_com"><input type="text" name="date_cours_0" id="date_cours" size="15" maxlength="15" value="2008" /></td>
    		<td class="liste_com"><input type="text" name="formateur_0" id="formateur" size="30" maxlength="100" value="BRUYERE" /></td>
    	</tr>
     
     
    	<tr>
    		<td class="liste_com"><input type="hidden" name="id_1" value="105" />
    		<input type="hidden" name="id_cours" value="4" />Nom 2</td>
    		<td class="liste_com">Prénom 2</td>
    		<td class="liste_com"><input type="text" name="date_cours_1" id="date_cours" size="15" maxlength="15" value="2007" /></td>
    		<td class="liste_com"><input type="text" name="formateur_1" id="formateur" size="30" maxlength="100" value="#" /></td>
    	</tr>
     
     
    	<tr>
    		<td class="liste_com"><input type="hidden" name="id_2" value="108" />
    		<input type="hidden" name="id_cours" value="4" />Nom 3</td>
    		<td class="liste_com">Prénom 3</td>
    		<td class="liste_com"><input type="text" name="date_cours_2" id="date_cours" size="15" maxlength="15" value="2007" /></td>
    		<td class="liste_com"><input type="text" name="formateur_2" id="formateur" size="30" maxlength="100" value="#" /></td>
    	</tr>
     
     
    	<tr>
    		<td class="liste_com"><input type="hidden" name="id_3" value="109" />
    		<input type="hidden" name="id_cours" value="4" />Nom 4</td>
    		<td class="liste_com">Prénom 4</td>
    		<td class="liste_com"><input type="text" name="date_cours_3" id="date_cours" size="15" maxlength="15" value="2007" /></td>
    		<td class="liste_com"><input type="text" name="formateur_3" id="formateur" size="30" maxlength="100" value="#" /></td>
    	</tr>
     
     
    	<tr>
    		<td class="liste_com"><input type="hidden" name="id_4" value="112" />
    		<input type="hidden" name="id_cours" value="4" />Nom 5</td>
    		<td class="liste_com">Prénom 5</td>
    		<td class="liste_com"><input type="text" name="date_cours_4" id="date_cours" size="15" maxlength="15" value="2007" /></td>
    		<td class="liste_com"><input type="text" name="formateur_4" id="formateur" size="30" maxlength="100" value="#" /></td>
    	</tr>
     
    </table>
     
    <br />
    <input class="send" type="submit" value="Enregistrer" /><br />
    </p>
    </form>


    Le bouton en question est celui au début du code.

    Je ne m'y connais pas spécialement en JavaScript c'est pour ça que je me tourne vers vous pour une petite aide.

    Merci d'avance à vous.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Un id doit être unique dans un document.
    Tu récupères tous les éléments avec ce script par exemple en mettant à jour chaque élément.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(reg.test(tabElts[i][attr])){tabReg.push(tabElts[i]);
    tabElts[i].value=tabElts[0].value;// Copier la valeur du premier élément dans tous les éléments cible.
    }
    A+.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci de ta réponse.

    Il va falloir que je décrypte tout parce que vu mon niveau en javascript je comprend pas grand chose

    Je suppose qu'il n'y a rien de plus simple ?

    Merci quand même.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Re,

    copie ce code dans ta page.

    Ensuite tu faits:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function copier(){
    var mesInputs= document.getElementsByReg(/date_cours/,'name');
    for (var i=0;i<mesInputs.length;i++){
       mesInputs[i].value=mesInputs[0].value;
     }
    }

    A+.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ha excélent !

    Exactement ce que je voulais

    Est-il possible de rajouter une condition dans cette ligne ?

    var mesInputs= document.getElementsByReg(/date_cours/,'name');

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rajoute /formateur/ pour copier aussi le formateur sur les autres lignes ?
    Merci beaucoup déjà pour ta réponse

    --------------
    Edit :

    J'ai fais deux fonctions en fait et deux boutons différents :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function copier_date(){
    var mesInputs= document.getElementsByReg(/date_cours/,'name');
    for (var i=0;i<mesInputs.length;i++){
       mesInputs[i].value=mesInputs[0].value;
     }
    }
     
    function copier_formateur(){
    var mesInputs= document.getElementsByReg(/formateur/,'name');
    for (var i=0;i<mesInputs.length;i++){
       mesInputs[i].value=mesInputs[0].value;
     }
    A moins que tu es une meilleure solution
    }

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    à toi de voir tes besoins, si tu veux avoir une bouton pour chaque colonne, ton code est bon, sinon si tu veux une bouton pour les deux colonnes, tu n'as qu'à les mettre dans une seule fonction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function copier(){
    var mesInputs= document.getElementsByReg(/date_cours/,'name');
    for (var i=0;i<mesInputs.length;i++){
       mesInputs[i].value=mesInputs[0].value;
     }
    mesInputs= document.getElementsByReg(/formateur/,'name');
    for (var i=0;i<mesInputs.length;i++){
       mesInputs[i].value=mesInputs[0].value;
     }
    }
    A+.

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function copier(){
    var mesInputs= document.getElementsByReg(/(date_cours|formateur)/,'name');
    for (var i=0;i<mesInputs.length;i++){
       mesInputs[i].value=mesInputs[0].value;
     }

  8. #8
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Oui Bovino mais le problème avec ça c'est que ça va mettre la valeur du premier champ date_cours dans les champs formateurs aussi.

  9. #9
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Oui Bovino mais le problème avec ça c'est que ça va mettre la valeur du premier champ date_cours dans les champs formateurs aussi.
    C'est pas faux...

Discussions similaires

  1. Copier la valeur d'un input dans d'autres
    Par Invité dans le forum jQuery
    Réponses: 12
    Dernier message: 16/05/2013, 09h49
  2. Copier des données d'une feuille dans plusieurs autres
    Par Sylcoco dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 03/03/2011, 11h40
  3. Réponses: 0
    Dernier message: 24/02/2011, 17h24
  4. [XL-2003] copier une cellule dans plusieurs autres cellules
    Par Eric26 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 17/02/2011, 14h27
  5. copier une ligne dans une autre table
    Par BoeufBrocoli dans le forum SQL
    Réponses: 5
    Dernier message: 24/10/2003, 22h59

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