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

Bibliothèques et frameworks PHP Discussion :

Modification automatique attribut name dans Form


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre actif Avatar de FadeToBlack
    Homme Profil pro
    ...
    Inscrit en
    Août 2010
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ...
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 311
    Points : 202
    Points
    202
    Par défaut Modification automatique attribut name dans Form
    Bonjour à tous,

    je me ttourne vers vous car je n'arrive pas à trouver une solution à mon problème et je me dis que vous aller pouvoir m'aider.

    J'ai :
    - Une table indivs avec les données classiques sur des individus (nom, prenom, date_naissance etc...)
    - Une table countries avec le nom de tous les pays
    - une table de liaison countries-indivs puisque j'ai une relation HABTM.

    Cette table de liaison a d'autres attributs texte et checkbox.

    La donnée de base est que je dois créer un formulaire qui permettent d'enregistrer les infos sur les individus et celles concernant les pays visités. Une personne doit donc pouvoir insérer une ligne (ou plusieurs) de la table de liaison en fonction du nombre de pays visités.

    J'ai donc une vue indivs comme cela
    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
    // avant 'y a le début de la vue
     
    <?php echo $this->Form->input('nom', array('label'=>'Votre nom : ', 'placeHolder'=>'Votre Nom',  'size'=>100)); ?>
    <?php  echo $this->Form->input('prenom', array('label'=>'Votre prénom : ')); ?>
    <?php  echo $this->Form->input('date_naiss', array('type'=>'text','dateFormat'=>'D/M/Y','label'=>'Date de Naissance : ')); ?>
    <?php echo $this->Form->input('nationalite', array('label'=>'Votre nationalité : ','options'=>$countries)); ?>
     
     
    .../...
     
    <div id="tabs-3">
        <table id='TabPays'>
            <thead>
                <tr>
              <th>Pays</th>
              <th>Nombre d'années</th>
              <th>Ville</th>
              <th>Avis</th>
              <th>Raisons du départ</th>
              <th>Ajouter</th>
                </tr>
        </thead>
            <tbody id='tabBody' class="body">
            <tr id="line1" class="line">
                <td><?php echo $this->Form->input('CountryR.pays', array('label'=>false,'options'=>$countries)); ?></td>
                <td><?php echo $this->Form->input('CountryR.nb_annees', array('label'=>false, 'type'=>'text')); ?></td>
                <td><?php echo $this->Form->input('CountryR.ville', array('label'=>false, 'type'=>'text')); ?></td>
                <td><?php echo $this->Form->input('CountryR.avisPositif', array('label'=>false, 'type'=>'checkbox')) ;?></td>
                <td><?php echo $this->Form->input('CountryR.raison_depart', array('label'=>false, 'type'=>'text')) ;?></td>
                <td><?php echo $this->Form->button('supprimer', array('class'=>'suppr','type'=>'button',
                                                onclick'=>"$(this).closest('tr').remove();")); ?></td>
           </tr>
            </tbody>
        </table>
     
        <input type="button" id="addPays" value ="Ajouter un pays"/>
    </div>
    Pour rajouter une ligne pays j'ai une fonction javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $('#addPays').click(function(){
        var nb = $('.line').length;
        $('#line1').clone().appendTo('#tabBody');
        nb +=1;
        $ligne = $('.body tr:last-child');
        $ligne.attr('id', 'line'+nb);
    });
    L'insertion de nouvelles lignes se passe sans problème. Là où cela se corse c'est que les champs d'une ligne ont le même nom que les champs de la ligne précédente. Donc l'insertion en base ne prend que la dernière ligne.

    En fait j'ai par exemple pour le champ 'Ville' : name = data[CountryR][ville].
    et je devrais avoir
    pour la ligne 1 : name = data[CountryR][0][ville]
    pour la ligne 2 : name = data[CountryR][2][ville]
    pour la ligne 3 : name = data[CountryR][3][ville]
    etc...


    D'où la question : Comment faire pour changer automatiquement le nom d'un champ ?

    Si vous avez des réponses, je suis super preneur

    Bonne suite de journée
    Douter de tout, toujours, et surtout de soi-même...

  2. #2
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Salut,

    une solution pourrait être de faire de l'ajax pour afficher la nouvelle ligne contenant les champs du formulaire avec le bon index correspondant à cette ligne, index que tu pourrais passer en paramètre de ta fonction ajax.
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

Discussions similaires

  1. Modification automatique de libéllé dans les requêtes
    Par 12_darte_12 dans le forum VBA Access
    Réponses: 6
    Dernier message: 13/09/2014, 08h49
  2. générer dynamiquement l'attribut name dans <jsp:setProperty
    Par anthropo dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 29/08/2006, 17h49
  3. Pb attribut name pour un form
    Par mariemor64 dans le forum Struts 1
    Réponses: 2
    Dernier message: 04/07/2006, 12h12
  4. modification automatique de champs dans une requete
    Par toinish dans le forum Access
    Réponses: 2
    Dernier message: 27/04/2006, 16h43
  5. Balise form - problème attributs name et type
    Par michihala dans le forum Struts 1
    Réponses: 3
    Dernier message: 03/04/2006, 17h17

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