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 les valeurs de champs input dans des champs générés par une boucle foreach php


Sujet :

JavaScript

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Par défaut Copier les valeurs de champs input dans des champs générés par une boucle foreach php
    Bonjour,

    Je mets en place une billetterie en ligne sur le site d'une salle de cinéma.
    Le spectateur peut acheter plusieurs tickets à des tarifs différents et des séances différentes dans la même commande.
    Pour chaque ticket, je dois créer une ligne dans ma table contenant les coordonnées de l'acheteur mais je voudrais que le spectateur n'ait à saisir qu'une seule fois ses coordonnées.
    J'ai donc créé un formulaire avec trois champs (nom/prenom/email) à remplir par le spectateur et en dessous les mêmes champs pour chaque ticket générés par une boucle foreach et qui peuvent se remplir automatiquement d'après les champs saisis par le spectateur si celui-ci clique sur "copier les coordonnées".
    Débutante en Javascript, je n'arrive pas à copier ces champs.

    En pièce jointe, une image de ce que j'aimerais obtenir lorsque l'acheteur clique sur "Copier les coordonnées"

    et ci-dessous le code html généré
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <!-- lacheteur remplit les trois champs nom, prenom, email -->
    <tr height="30">
      <td colspan="3">
      Nom* <input style="width:80px;" class="fValidate['required']" id="lastnameall" name="lastnameall" value="Jean" type="text">
      Prénom* <input style="width:80px;" class="fValidate['required']" id="firstnameall" name="firstnameall" value="Dupont" type="text">
      Email* <input style="width:120px;" class="fValidate['required']" id="emailall" name="emailall" value="jd@wanadoo.fr" type="text">
      </td>
    </tr>
     
    <!-- lacheteur peut copier ses coordonnées si tous les billets sont à son nom -->
    <tr height="45">
      <td colspan="3" valign="top">
      <input onclick="copier()" value="Copier vos coordonnées" type="button">
      </td>
    </tr>
     
    <!-- Champs générés par une boucle foreach pour chaque ticket -->
    <tr><td><strong>PLEIN TARIF WEB Registration :</td>	<td colspan="2" align="left"> Date de la séance : Jeudi 23 Août 2012</td></tr>
    <tr><td> Prénom</td><td><input name="firstname" value="Jean" id="firstname[0][3149]" default="" type="text"></td></tr>
    <tr><td> Nom</td><td><input name="lastname" value="Dupont" id="lastname[0][3149]" default="" type="text"></td></tr>
    <tr><td> Email</td><td><input name="email" value="jd@wanadoo.fr" id="email[0][3149]" default="" type="text"></td></tr>
     
    <tr><td><strong>PLEIN TARIF WEB Registration :</td>	<td colspan="2" align="left"> Date de la séance : Samedi 11 Août 2012</td></tr>
    <tr><td> Prénom</td><td><input name="firstname" value="Jean" id="firstname[0][3150]" default="" type="text"></td></tr>
    <tr><td> Nom</td><td><input name="lastname" value="Dupont" id="lastname[0][3150]" default="" type="text"></td></tr>
    <tr><td> Email</td><td><input name="email" value="jd@wanadoo.fr" id="email[0][3150]" default="" type="text"></td></tr>
     
    <tr><td><strong>PLEIN TARIF WEB Registration :</td>	<td colspan="2" align="left"> Date de la séance : Dimanche 12 Août 2012</td></tr>
    <tr><td> Prénom</td><td><input name="firstname" value="Jean" id="firstname[0][3151]" default="" type="text"></td></tr>
    <tr><td> Nom</td><td><input name="lastname" value="Dupont" id="lastname[0][3151]" default="" type="text"></td></tr>
    <tr><td> Email</td><td><input name="email" value="jd@wanadoo.fr" id="email[0][3151]" default="" type="text"></td>
    </tr>
    <tr>
    <tr><td colspan="3"><input value="agree_terms" id="terms" type="checkbox">&nbsp; J'accepte les <a href="/" target="_blank">conditions générales de vente</a>.</td></tr>


    Voici mon code php et javascript. J'arrive uniquement à copier les champs du dernier ticket. Je suppose qu'il faudrait plutôt mettre ma fonction dans le <head> et utiliser une boucle for mais je n'ai pas réussi à le faire.
    Code php : 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
     
    <?php
    ##Ici lacheteur remplit ses coordonnées ##
    ?>
    <tr height="30">
      <td colspan="3">
      Nom*    <input class="fValidate['required']" type="text"  id="lastnameall"  name="lastnameall"  value="" />  
      Prénom*<input  class="fValidate['required']" type="text"  id="firstnameall" name="firstnameall"  value="" />
      Email* <input  class="fValidate['required']" type="text"  id="emailall"     name="emailall"  value="" />
      </td>
    </tr>
     
    <tr height="45">
      <td colspan="3" valign="top">
    <input type="button" onclick="copier()" value="Copier vos coordonnées" /></td></tr>
     
    <?php
    ##On copie les coordonnées saisies ##
    // pour chaque séance
    foreach($cart['eventids'] as $ekey => $evalue)
    {
    	// pour chaque ticket				
    	foreach($cart['ticktes'] as $tkey=>$tvalue)
    	{				
    		// pour chaque champ du formulaire (le formulaire et ses champs sont identifiés dans ma base de données)				
    		foreach ($fields as $key=>$field)
    		{
    		echo '<td class="regpro_vtop_aleft"><input type="text" name="form['.$row->name.']['.$count.']'.$position_html.'" value="'.$row->default_value.' id="'.$row->name.'['.$count.']'.$position_html.'" '.$row->params.' />';		
    	        }
     
    	$nom = "";
    	$prenom = "";
    	$email = "";
    	$nom = 'lastname['.$formcounter.']['.$cart["ticktes"][$tkey]->id.']';
    	$prenom = 'firstname['.$formcounter.']['.$cart["ticktes"][$tkey]->id.']';
    	$email = 'email['.$formcounter.']['.$cart["ticktes"][$tkey]->id.']';
    	?>
    	<script type = "text/javascript">
    	function copier() 
    	{
    	var nomspec = document.getElementById("lastnameall").value;
    	document.getElementById("<?php echo $nom;?>").value = nomspec;								
     
    	var prenomspec = document.getElementById("firstnameall").value;
    	document.getElementById("<?php echo $prenom;?>").value = prenomspec;		
     
    	var emailspec = document.getElementById("emailall").value;
    	document.getElementById("<?php echo $email;?>").value = emailspec;		
    	}
    	</script>		
     
    	}
    }

    Merci pour votre aide
    Images attachées Images attachées  

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

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. Insérer la valeur d'un input dans un champ texte
    Par CrasherSEP dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/11/2011, 11h36
  3. Copier les résultats d'un find dans des variables
    Par Geoffrey49000 dans le forum Shell et commandes GNU
    Réponses: 15
    Dernier message: 11/08/2011, 16h44
  4. Afficher les coordonnées d'un layer dans des champs texte
    Par renaud26 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 15/08/2006, 13h53
  5. Copier les valeurs d'un formulaire dans une table
    Par Cyphen dans le forum Access
    Réponses: 4
    Dernier message: 19/06/2006, 10h45

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