Partage
  • Partager sur Facebook
  • Partager sur Twitter

Copier un input dans plusieurs autres

à l'identique

    13 novembre 2010 à 19:51:47

    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 :

    <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.
    • Partager sur Facebook
    • Partager sur Twitter
      13 novembre 2010 à 20:37:21

      En jQuery ça donne ça :

      $(document).ready(function() {	
      	$('#copier').click(function() {	
      	var val = $('input[name="formateur_0"]').val();	
      		$('input[name^="formateur"]').each(function() {
      		$(this).val(val);
      		});
      	});	
      });
      


      Il faut rajouter id="copier" sur le bouton. :)
      • Partager sur Facebook
      • Partager sur Twitter
        13 novembre 2010 à 20:40:41

        Merci de ta réponse,

        En jQuery ? Il faut avoir la bibliothèque jQuery obligatoirement ?

        Ou on peux faire sans ?
        • Partager sur Facebook
        • Partager sur Twitter
          13 novembre 2010 à 20:44:57

          Citation : Surfeurdu33

          En jQuery ? Il faut avoir la bibliothèque jQuery obligatoirement ?


          Oui évidemment. :)
          • Partager sur Facebook
          • Partager sur Twitter
            13 novembre 2010 à 20:58:30

            Et aucun moyen de faire ce genre de copier-coller en JavaScript sans passer une bibliothèque ?

            avec un onclick sur le boutton ==> Copier dans les autres input ?

            Je trouve ça dommage de surcharger le code pour un "simple" copier coller.

            Autant presque le faire en PHP non ?
            • Partager sur Facebook
            • Partager sur Twitter
              13 novembre 2010 à 21:03:19

              Citation : Surfeurdu33

              Et aucun moyen de faire ce genre de copier-coller en JavaScript sans passer une bibliothèque ?


              Si bien sûr mais je ne sais pas comment, et le code sera plus compliqué. J'utilise uniquement jQuery personnellement.

              Citation : Surfeurdu33

              Je trouve ça dommage de surcharger le code pour un "simple" copier coller.


              Effectivement si tu as que ça comme traitement sur ton site et ta page. Mais si tu as plein d'autres scripts JS tu es gagnant en ajoutant jQuery une seule fois. De plus les scripts en JS pur doivent être testés sur tous les navigateurs, alors que jQuery il n'y a pas besoin (en théorie).

              Citation : Surfeurdu33

              Autant presque le faire en PHP non ?


              Euh non ce serait un bazar... C'est pas un traitement côté serveur en plus.
              • Partager sur Facebook
              • Partager sur Twitter

              Copier un input dans plusieurs autres

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown