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 :

Modifier un élément d'une datatable (Php - Js)


Sujet :

jQuery

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2022
    Messages : 2
    Points : 4
    Points
    4
    Par défaut Modifier un élément d'une datatable (Php - Js)
    Bonjour,

    J'ai un problème avec mon application, je ne peux modifier que la première ligne ou la dernière ligne de ma datatable.

    Je ne comprends pas pourquoi, ça fait plusieurs semaines que je suis sur ce probléme et je demande votre aide.
    Je pense à un problème de javascript avec les modals.

    J'utilise le framework Symfony.

    Voici mon code html avec datatable et le modal :

    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
    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    <div class="row" style="  display:flex;  margin-left: auto; margin-right:auto; width:100%; margin-bottom: 5vw; margin-top:1vw;
             border:1px solid #b1e7e7; background:rgba(102, 204, 255, 0.05);"> 
            <div class="col-lg-12" > 
     
               <table id="user" class="display" > 
     
     
                <!-- TABLE USER -->  
                {% for user in users %}  
                <tr> 
                    <td> {{user.id}} </td> 
                    <td> {{user.nom}} </td>                  
                    <td> {{user.prenom}} </td> 
                    <td> {{user.adresse}} </td> 
                    <td> {{user.login}} </td>                     
                    <td> {{user.AccesString}} </td>
     
                    <!--BOUTONS DANS DATATABLE-->
     
                    <td>
                       {%if app.isAdmin %}    
     
     
                           <!-- Bouton Modif client-->
                          <button id="bt-{{user.id}}" data-id="{{user.id}}" class="btn btn-primary act btMod" style="background:rgba(0, 136, 204, 0.5); font-size:0.4vw;" title="Nouveau compte">
                           <span class ="fa fa-pencil" style="font-size:1vw;"></span></button> 
     
                           <!-- Bouton Liste des comptes par client-->
                             <a style="font-size:0.4vw; background:rgba(0, 136, 204, 0.7);" href="{{app.route('listeCp',{id:user.id})}}" class="btn btn-info" title="Liste des comptes">
                             <span class ="glyphicon glyphicon-th-list" style="font-size:1vw;"></span></a>
     
                             {%endif%}
                     </td>
                </tr>
               {% endfor%}
        </table>
        </div>    
                </div>
     
     
    <!-- MODAL MODIFIER CLIENT -->
    {% for user in users %}  
               <div class="modal fade modalModifCl" data-user-id="{{ user.id }}" role="dialog" tabindex="-1" >
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <button aria-label="Close" class="close" data-dismiss="modal" type="button"><span aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title">Modifier Client</h4>
                </div>
     
                <!--FORMULAIRE -->
                <div class="modal-body">
                    <!-- APPEL FONCTION -->
                  <form action="{{app.route('modif')}}" class="form-horizontal form3" method="post" >
     
                      <input id="idClient" name="id" type="hidden" value="{{user.id}}">
     
                      <div class="form-group">
                            <label class="col-sm-2" for="nom">Nom</label>
                            <div class="col-sm-10">
                                <input class="form-control"  name="nom" placeholder="Nom" type="text" value="{{user.nom}}">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-sm-2" for="prenom">Prénom</label>
                            <div class="col-sm-10">
                                <input class="form-control" name="prenom" placeholder="Prénom" type="text" value="{{user.prenom}}">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-sm-2" for="adresse">Adresse</label>
                            <div class="col-sm-10">
                                <input class="form-control" name="adresse" placeholder="Adresse" type="text" value="{{user.adresse}}">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-sm-2" for="login">Login</label>
                            <div class="col-sm-10">
                                <input class="form-control" name="login" placeholder="Login" type="text" value="{{user.login}}">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-sm-2" for="password">Mot de passe</label>
                            <div class="col-sm-10">
                                <input class="form-control"name="password" placeholder="Mot de passe" type="password" value="{{user.password}}">
                            </div>
                        </div><!-- archive caché-->
                        <input class="form-control"  name="archive" placeholder="archive" type="hidden" value="{{user.archive}}"> <!-- acces caché-->
                        <div class="form-group">
                            <div class="cols-sm-10">
                                <select class="form-control"  name="acces">
                                    <option value="2">
                                        Client Prive
                                    </option>
                                    <option value="3">
                                        Client Pro
                                    </option>
                                    <option value="1">
                                        Admin
                                    </option>
                                </select>
                            </div>
                        </div>
                    </form>
                </div><!--BOUTONS FERMER ET VALIDER DANS FORMULAIRE MODIFIER CLIENT-->
                <div class="modal-footer">
                    <button class="btn btn-default" data-dismiss="modal" type="button">Fermer</button>
                    <button class="btn btn-primary validerMod" type="button">Valider </button>         
                </div>
            </div>
        </div>
    </div>
     
    {% endfor %}


    Voici le javascript :

    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
    $(function () {
         /* MODAL Modifier client Privé */
           $('.btMod').click (function(e){
            e.preventDefault();
            $('.modal[data-user-id="'+$(this).data('id')+'"]').modal({
            show:true,
            backdrop:'static'
            });
            });
     
     
           /* MODAL BOUTON VALIDER FORMULAIRE MODIFIER CLIENT PRIVE */
            $('.validerMod').click(function(e){
           e.preventDefault();
           $.ajax({
            url:$('.form3').attr('action'),
            type: $('.form3').attr('method'),
            data: $('.form3').serialize()
     
            }).done(function(data){
            $('.modalModifCl').modal('hide');
     
            window.location.href='{{app.route('clientsPrive')}}';
            alert("Client modifié avec succès !");                             
     
            }).fail(function(data){
            console.log(data.responseText);
            });
            });
    });
    Si j'utilise un id dans la balise form du modal alors je peux modifier uniquement la première ligne de la datatable et si j'utilise une classe je ne peux modifier que la dernière ligne.

    Aucune erreur dans le navigateur, aucun problèmes d'id multiple non plus, mais je pense que la boucle for juste avant le modal fout le bordel...
    C'est un casse tête et je manque d'expérience en Javascript

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 238
    Points : 15 536
    Points
    15 536
    Par défaut
    qu'est ce qui ne fonctionne pas ? il n'y a pas de réaction quand vous cliquez sur le bouton ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2022
    Messages : 2
    Points : 4
    Points
    4
    Par défaut
    Résolu

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

Discussions similaires

  1. [SP-2007] Modifier les éléments d'une liste
    Par Djembadi dans le forum SharePoint
    Réponses: 5
    Dernier message: 26/06/2012, 11h43
  2. [PDO] Modifier un élément d'une table mis sous tableau avec fetchall
    Par lol88 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/12/2009, 00h31
  3. modifier un élément d'une form dans une méthode d'une autre form
    Par baldebaran dans le forum Windows Forms
    Réponses: 9
    Dernier message: 14/08/2009, 13h59
  4. Modifier un élément d'une liste
    Par Clemsgc dans le forum SL & STL
    Réponses: 2
    Dernier message: 17/06/2009, 17h28
  5. Modifier un élément dans une liste
    Par T-O-N-Y dans le forum C#
    Réponses: 5
    Dernier message: 09/03/2009, 17h07

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